добавлен led при отправке по can

This commit is contained in:
Razvalyaev 2025-08-06 13:44:12 +03:00
parent 366ba99467
commit 7a7f838a4a
5 changed files with 61 additions and 37 deletions

View File

@ -22,22 +22,23 @@ Mcu.IP7=USART1
Mcu.IPNb=8 Mcu.IPNb=8
Mcu.Name=STM32F103C(8-B)Tx Mcu.Name=STM32F103C(8-B)Tx
Mcu.Package=LQFP48 Mcu.Package=LQFP48
Mcu.Pin0=PC14-OSC32_IN Mcu.Pin0=PC13-TAMPER-RTC
Mcu.Pin1=PC15-OSC32_OUT Mcu.Pin1=PC14-OSC32_IN
Mcu.Pin10=PA14 Mcu.Pin10=PA13
Mcu.Pin11=VP_IWDG_VS_IWDG Mcu.Pin11=PA14
Mcu.Pin12=VP_SYS_VS_Systick Mcu.Pin12=VP_IWDG_VS_IWDG
Mcu.Pin13=VP_TIM2_VS_ClockSourceINT Mcu.Pin13=VP_SYS_VS_Systick
Mcu.Pin14=VP_TIM3_VS_ClockSourceINT Mcu.Pin14=VP_TIM2_VS_ClockSourceINT
Mcu.Pin2=PD0-OSC_IN Mcu.Pin15=VP_TIM3_VS_ClockSourceINT
Mcu.Pin3=PD1-OSC_OUT Mcu.Pin2=PC15-OSC32_OUT
Mcu.Pin4=PB0 Mcu.Pin3=PD0-OSC_IN
Mcu.Pin5=PA9 Mcu.Pin4=PD1-OSC_OUT
Mcu.Pin6=PA10 Mcu.Pin5=PB0
Mcu.Pin7=PA11 Mcu.Pin6=PA9
Mcu.Pin8=PA12 Mcu.Pin7=PA10
Mcu.Pin9=PA13 Mcu.Pin8=PA11
Mcu.PinsNb=15 Mcu.Pin9=PA12
Mcu.PinsNb=16
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32F103C8Tx Mcu.UserName=STM32F103C8Tx
@ -72,6 +73,8 @@ PA9.Mode=Asynchronous
PA9.Signal=USART1_TX PA9.Signal=USART1_TX
PB0.Locked=true PB0.Locked=true
PB0.Signal=GPIO_Output PB0.Signal=GPIO_Output
PC13-TAMPER-RTC.Locked=true
PC13-TAMPER-RTC.Signal=GPIO_Output
PC14-OSC32_IN.Mode=LSE-External-Oscillator PC14-OSC32_IN.Mode=LSE-External-Oscillator
PC14-OSC32_IN.Signal=RCC_OSC32_IN PC14-OSC32_IN.Signal=RCC_OSC32_IN
PC15-OSC32_OUT.Mode=LSE-External-Oscillator PC15-OSC32_OUT.Mode=LSE-External-Oscillator
@ -111,7 +114,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath= ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_TIM2_Init-TIM2-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_TIM2_Init-TIM2-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_CAN_Init-CAN-false-HAL-true,7-MX_IWDG_Init-IWDG-false-HAL-true
RCC.ADCFreqValue=36000000 RCC.ADCFreqValue=36000000
RCC.AHBFreq_Value=72000000 RCC.AHBFreq_Value=72000000
RCC.APB1CLKDivider=RCC_HCLK_DIV2 RCC.APB1CLKDivider=RCC_HCLK_DIV2

View File

@ -59,6 +59,9 @@ void wait_exact_ticks(uint16_t target_ticks) {
void CANEmu_SendFrame(CANEmu_HandleTypeDef *canemu) { void CANEmu_SendFrame(CANEmu_HandleTypeDef *canemu) {
if (canemu->bitrate_bps == 0) return; if (canemu->bitrate_bps == 0) return;
#ifdef LED_WORKING
LED_WORKING(1);
#endif
form_CAN_bitstream_full(&canemu->header, canemu->data, canemu->errors); form_CAN_bitstream_full(&canemu->header, canemu->data, canemu->errors);
@ -80,6 +83,9 @@ void CANEmu_SendFrame(CANEmu_HandleTypeDef *canemu) {
can_tx_set_1(); // Завершаем линию can_tx_set_1(); // Завершаем линию
__enable_irq(); __enable_irq();
#ifdef LED_WORKING
LED_WORKING(0);
#endif
} }

View File

@ -11,6 +11,11 @@
#define CANEMU_TIM_US_TICKS 72 // Для 1 мкс при 72 МГц #define CANEMU_TIM_US_TICKS 72 // Для 1 мкс при 72 МГц
#define CANEMU_TIM_CLOCK_HZ 72000000UL // частота таймера #define CANEMU_TIM_CLOCK_HZ 72000000UL // частота таймера
#define CAN_MIN_PERIOD 20 #define CAN_MIN_PERIOD 20
#define LED_WORKING(on_off) \
do { \
if (!on_off) GPIOC->ODR |= (1U << 13); \
else GPIOC->ODR &= ~(1U << 13); \
} while (0)
// === Макросы управления GPIO === // === Макросы управления GPIO ===
#define can_tx_set_1() (CANEMU_TX_GPIO_PORT->BSRR = (1U << CANEMU_TX_GPIO_PIN)) #define can_tx_set_1() (CANEMU_TX_GPIO_PORT->BSRR = (1U << CANEMU_TX_GPIO_PIN))

View File

@ -50,9 +50,19 @@ void MX_GPIO_Init(void)
__HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */ /*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
/*Configure GPIO pin : PC13 */
GPIO_InitStruct.Pin = GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/*Configure GPIO pin : PB0 */ /*Configure GPIO pin : PB0 */
GPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

File diff suppressed because one or more lines are too long