12345678910111213141516171819202122232425262728293031323334353637 |
- #include "yqhs.h"
- Yqhuishou_Inf yqhuishou_inf;
- void Get_Yqhuishou_data(void);
- void Get_Yqhuishou_data(void)
- {
-
- uint16_t ModbusCRC=0;
- static uint16_t receive_error = 0; //i = 0, j = 0,
- Yqhuishou_Inf* pYqhuishou = &yqhuishou_inf;
- ModbusCRC = USART3_RX_BUF002[5]<<8;
- ModbusCRC |= USART3_RX_BUF002[6];
- if(USART3_RX_BUF002[1]!=0x03&&USART3_RX_BUF002[1]!=0x06) //校验读写属性
- {
- receive_error = 1;
- }
- else if(USART3_RX_BUF002[2] != 0x02) //校验数据长度
- {
- receive_error = 1;
- }
- else if(ModbusCRC != LIB_CRC_MODBUS(USART3_RX_BUF002,5)) //校验CRC
- {
- receive_error = 1;
- }
- pYqhuishou[USART3_RX_BUF002[0]-0x80].RTData_Num[0] = 1;
- pYqhuishou[USART3_RX_BUF002[0]-0x80].Yqhuishou_SSWD[0] = USART3_RX_BUF002[3]; //
- pYqhuishou[USART3_RX_BUF002[0]-0x80].Yqhuishou_SVAL[0] = USART3_RX_BUF002[4];
- }
|