работа canemu вынесена в отдельную функцию

доработана терминалка
+гитигнор сгенереных файлов
This commit is contained in:
2025-08-05 12:29:33 +03:00
parent 8d3704b539
commit e1491ceb8f
78 changed files with 342 additions and 6592 deletions

View File

@@ -57,8 +57,6 @@ void SystemClock_Config(void);
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
CANEmu_HandleTypeDef hcanemu;
int flag_manual = 0;
/* USER CODE END 0 */
/**
@@ -102,56 +100,9 @@ int main(void)
/* Infinite loop */
/* USER CODE BEGIN WHILE */
int transmit_prev = hcanemu.transmit;
while (1)
{
if(flag_manual == 0)
{
hcanemu.start_poll = MB_DATA.Coils.START_POLLING;
hcanemu.transmit = MB_DATA.Coils.START_SINGLE_FRAME;
hcanemu.period_ms = MB_DATA.HoldRegs.CAN_PERIOD;
// can message
hcanemu.header.IDE = MB_DATA.Coils.HEADER_IDE;
hcanemu.header.RTR = MB_DATA.Coils.HEADER_RTR;
hcanemu.bitrate_bps = (uint32_t)MB_DATA.HoldRegs.CAN_BITRATE_KBPS*1000;
hcanemu.header.ExtId = ((uint32_t)MB_DATA.HoldRegs.CAN_ID_HI << 16) || MB_DATA.HoldRegs.CAN_ID_LO;
hcanemu.header.StdId = hcanemu.header.ExtId;
hcanemu.header.DLC = (uint8_t)MB_DATA.HoldRegs.CAN_DLC & 0xF;
hcanemu.data[0] = (uint8_t)MB_DATA.HoldRegs.CAN_DATA_0;
hcanemu.data[1] = (uint8_t)MB_DATA.HoldRegs.CAN_DATA_1;
hcanemu.data[2] = (uint8_t)MB_DATA.HoldRegs.CAN_DATA_2;
hcanemu.data[3] = (uint8_t)MB_DATA.HoldRegs.CAN_DATA_3;
hcanemu.data[4] = (uint8_t)MB_DATA.HoldRegs.CAN_DATA_4;
hcanemu.data[5] = (uint8_t)MB_DATA.HoldRegs.CAN_DATA_5;
hcanemu.data[6] = (uint8_t)MB_DATA.HoldRegs.CAN_DATA_6;
hcanemu.data[7] = (uint8_t)MB_DATA.HoldRegs.CAN_DATA_7;
// errors
hcanemu.errors.FF_SRS = MB_DATA.Coils.FLIP_SRS;
hcanemu.errors.FF_IDE = MB_DATA.Coils.FLIP_IDE;
hcanemu.errors.FF_RTR = MB_DATA.Coils.FLIP_RTR;
hcanemu.errors.FF_R1 = MB_DATA.Coils.FLIP_R1;
hcanemu.errors.FF_R0 = MB_DATA.Coils.FLIP_R0;
hcanemu.errors.MSGID = MB_DATA.Coils.FLIP_MSGID_BIT;
hcanemu.errors.DATA = MB_DATA.Coils.FLIP_DATA_BIT;
hcanemu.errors.CRC_ERR = MB_DATA.Coils.FLIP_CRC_BIT;
hcanemu.errors.STUFF_BITS = MB_DATA.Coils.DISABLE_STUFF_BITS;
}
if(hcanemu.start_poll)
{
hcanemu.transmit = 0;
HAL_Delay(hcanemu.period_ms);
CANEmu_SendFrame(&hcanemu);
}
else if((hcanemu.transmit == 1) && (transmit_prev == 0))
{
CANEmu_SendFrame(&hcanemu);
}
transmit_prev = hcanemu.transmit;
CANEmu_Working(&hcanemu);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */

View File

@@ -39,7 +39,7 @@ void MX_USART1_UART_Init(void)
/* USER CODE END USART1_Init 1 */
huart1.Instance = USART1;
huart1.Init.BaudRate = 256000;
huart1.Init.BaudRate = 115200;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE;