|
@@ -933,7 +933,7 @@ int main(void)
|
|
|
|
|
|
HAL_Delay(2);
|
|
|
memset(bufMain,0,128);
|
|
|
- spr000=sprintf((char*)bufMain,"sysytem reset...%5d, watchDogOn=%d, version:%d",5,WatchDogOn,Version_Soft[7]);
|
|
|
+ spr000=sprintf((char*)bufMain,"sysytem reset...%5d, watchDogOn=%d, version:%d-%d",5,WatchDogOn,Version_Soft[7],Version_Soft[3]);
|
|
|
//HAL_UART_Transmit(&huart1,bufMain,32,300);
|
|
|
HAL_UART_Transmit(&huart2,bufMain,spr000,300);
|
|
|
//HAL_UART_Transmit(&huart3,bufMain,32,300);
|
|
@@ -1489,7 +1489,7 @@ static void MX_USART2_UART_Init(void)
|
|
|
|
|
|
/* USER CODE END USART2_Init 1 */
|
|
|
huart2.Instance = USART2;
|
|
|
- huart2.Init.BaudRate = 38400;//19200
|
|
|
+ huart2.Init.BaudRate = 19200;//19200
|
|
|
huart2.Init.WordLength = UART_WORDLENGTH_8B;
|
|
|
huart2.Init.StopBits = UART_STOPBITS_1;
|
|
|
huart2.Init.Parity = UART_PARITY_NONE;
|
|
@@ -2864,7 +2864,7 @@ void StartTask04(void *argument) //
|
|
|
/* USER CODE BEGIN StartTask04 */
|
|
|
/* Infinite loop */
|
|
|
uint8_t* ptx = CMD_KZQ;
|
|
|
- uint16_t ModbusCRC = 0,SetSuccess = 0,ModbusCRC1 = 0,SetSuccess1 = 0,SetSuccess2=0,SetSuccess3=0;
|
|
|
+ uint16_t ModbusCRC_lsb = 0,ModbusCRC = 0,SetSuccess = 0,ModbusCRC1 = 0,SetSuccess1 = 0,SetSuccess2=0,SetSuccess3=0;
|
|
|
static uint16_t i = 0;
|
|
|
int i000;
|
|
|
uint8_t* send_ptr;
|
|
@@ -2880,7 +2880,7 @@ void StartTask04(void *argument) //
|
|
|
/* Infinite loop */
|
|
|
for(;;)
|
|
|
{
|
|
|
- osDelay(50); //以ms为单位
|
|
|
+ osDelay(2); //以ms为单位
|
|
|
// HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_0);
|
|
|
|
|
|
HAL_GPIO_TogglePin(WDI_sp706_kanmemgou_GPIO_Port, WDI_sp706_kanmemgou_Pin);
|
|
@@ -2919,6 +2919,8 @@ void StartTask04(void *argument) //
|
|
|
continue;
|
|
|
ModbusCRC = USART2_RX_BUF002[data_lengthU2 - 1] << 8;
|
|
|
ModbusCRC |= USART2_RX_BUF002[data_lengthU2 - 2];
|
|
|
+ ModbusCRC_lsb = USART2_RX_BUF002[data_lengthU2 - 2] << 8;
|
|
|
+ ModbusCRC_lsb |= USART2_RX_BUF002[data_lengthU2 - 1];
|
|
|
ModbusCRC1 = LIB_CRC_MODBUS(USART2_RX_BUF002, data_lengthU2 - 2);
|
|
|
|
|
|
if ((USART2_RX_BUF002[0] != 0x39) && (USART2_RX_BUF002[1] <= 0x01) && (USART2_RX_BUF002[2] <= 0x95) && (USART2_RX_BUF002[3] <= 0x50)) //判断帧头
|
|
@@ -2936,11 +2938,11 @@ void StartTask04(void *argument) //
|
|
|
pkzq->KZQ_Error++;
|
|
|
KZQ_RTerror = 1;
|
|
|
}
|
|
|
- /*else if(ModbusCRC != ModbusCRC1) //校验CRC
|
|
|
+ else if(ModbusCRC != ModbusCRC1 && ModbusCRC_lsb != ModbusCRC1) //校验CRC
|
|
|
{
|
|
|
pkzq->KZQ_Error++;
|
|
|
KZQ_RTerror = 1;
|
|
|
- }*/
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
pkzq->KZQ_Error = 0;
|