From 672338ac0f47d6440bec0272912cadd45f7c3aee Mon Sep 17 00:00:00 2001 From: Anton Mukhin Date: Wed, 26 Jun 2024 15:21:33 +0300 Subject: [PATCH] WIP - schematic --- Core/Inc/main.h | 12 ++++++++++++ Core/Src/main.c | 23 +++++++++++++++++++++++ RS485_BSV.ioc | 46 ++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 73 insertions(+), 8 deletions(-) diff --git a/Core/Inc/main.h b/Core/Inc/main.h index 3fe752f..7624f5b 100644 --- a/Core/Inc/main.h +++ b/Core/Inc/main.h @@ -57,6 +57,18 @@ void Error_Handler(void); /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ +#define HVS_ENABLE_Pin GPIO_PIN_7 +#define HVS_ENABLE_GPIO_Port GPIOC +#define HVS_OVERLOAD_Pin GPIO_PIN_8 +#define HVS_OVERLOAD_GPIO_Port GPIOC +#define HVS_OVERHEAT_Pin GPIO_PIN_9 +#define HVS_OVERHEAT_GPIO_Port GPIOC +#define HVS_NOLINK_Pin GPIO_PIN_8 +#define HVS_NOLINK_GPIO_Port GPIOA +#define HVS_XRAYON_Pin GPIO_PIN_9 +#define HVS_XRAYON_GPIO_Port GPIOA +#define HVS_READY_Pin GPIO_PIN_10 +#define HVS_READY_GPIO_Port GPIOA #define TXEN_Pin GPIO_PIN_5 #define TXEN_GPIO_Port GPIOB diff --git a/Core/Src/main.c b/Core/Src/main.c index e5db4c8..cbe61d8 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -216,12 +216,35 @@ static void MX_GPIO_Init(void) /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOD_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(HVS_ENABLE_GPIO_Port, HVS_ENABLE_Pin, GPIO_PIN_RESET); + /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(TXEN_GPIO_Port, TXEN_Pin, GPIO_PIN_RESET); + /*Configure GPIO pin : HVS_ENABLE_Pin */ + GPIO_InitStruct.Pin = HVS_ENABLE_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(HVS_ENABLE_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pins : HVS_OVERLOAD_Pin HVS_OVERHEAT_Pin */ + GPIO_InitStruct.Pin = HVS_OVERLOAD_Pin|HVS_OVERHEAT_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + + /*Configure GPIO pins : HVS_NOLINK_Pin HVS_XRAYON_Pin HVS_READY_Pin */ + GPIO_InitStruct.Pin = HVS_NOLINK_Pin|HVS_XRAYON_Pin|HVS_READY_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + /*Configure GPIO pin : TXEN_Pin */ GPIO_InitStruct.Pin = TXEN_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; diff --git a/RS485_BSV.ioc b/RS485_BSV.ioc index 7cc4696..4417949 100644 --- a/RS485_BSV.ioc +++ b/RS485_BSV.ioc @@ -37,14 +37,20 @@ Mcu.Name=STM32F103R(C-D-E)Tx Mcu.Package=LQFP64 Mcu.Pin0=PD0-OSC_IN Mcu.Pin1=PD1-OSC_OUT -Mcu.Pin2=PA13 -Mcu.Pin3=PA14 -Mcu.Pin4=PB3 -Mcu.Pin5=PB5 -Mcu.Pin6=PB6 -Mcu.Pin7=PB7 -Mcu.Pin8=VP_SYS_VS_Systick -Mcu.PinsNb=9 +Mcu.Pin10=PB3 +Mcu.Pin11=PB5 +Mcu.Pin12=PB6 +Mcu.Pin13=PB7 +Mcu.Pin14=VP_SYS_VS_Systick +Mcu.Pin2=PC7 +Mcu.Pin3=PC8 +Mcu.Pin4=PC9 +Mcu.Pin5=PA8 +Mcu.Pin6=PA9 +Mcu.Pin7=PA10 +Mcu.Pin8=PA13 +Mcu.Pin9=PA14 +Mcu.PinsNb=15 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F103RCTx @@ -64,10 +70,22 @@ NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false +PA10.GPIOParameters=GPIO_Label +PA10.GPIO_Label=HVS_READY +PA10.Locked=true +PA10.Signal=GPIO_Input PA13.Mode=Trace_Asynchronous_SW PA13.Signal=SYS_JTMS-SWDIO PA14.Mode=Trace_Asynchronous_SW PA14.Signal=SYS_JTCK-SWCLK +PA8.GPIOParameters=GPIO_Label +PA8.GPIO_Label=HVS_NOLINK +PA8.Locked=true +PA8.Signal=GPIO_Input +PA9.GPIOParameters=GPIO_Label +PA9.GPIO_Label=HVS_XRAYON +PA9.Locked=true +PA9.Signal=GPIO_Input PB3.Mode=Trace_Asynchronous_SW PB3.Signal=SYS_JTDO-TRACESWO PB5.GPIOParameters=GPIO_Label @@ -80,6 +98,18 @@ PB6.Signal=USART1_TX PB7.Locked=true PB7.Mode=Asynchronous PB7.Signal=USART1_RX +PC7.GPIOParameters=GPIO_Label +PC7.GPIO_Label=HVS_ENABLE +PC7.Locked=true +PC7.Signal=GPIO_Output +PC8.GPIOParameters=GPIO_Label +PC8.GPIO_Label=HVS_OVERLOAD +PC8.Locked=true +PC8.Signal=GPIO_Input +PC9.GPIOParameters=GPIO_Label +PC9.GPIO_Label=HVS_OVERHEAT +PC9.Locked=true +PC9.Signal=GPIO_Input PD0-OSC_IN.Mode=HSE-External-Oscillator PD0-OSC_IN.Signal=RCC_OSC_IN PD1-OSC_OUT.Mode=HSE-External-Oscillator