久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
stm32簡單的串口modbus-rtu數據處理方法
[打印本頁]
作者:
czr027010
時間:
2019-12-17 16:37
標題:
stm32簡單的串口modbus-rtu數據處理方法
//crc校驗
u16 crc16(u8 *puchMsg, u16 usDataLen)
{
u8 uchCRCHi = 0xFF ;
u8 uchCRCLo = 0xFF ;
u32 uIndex ;
while (usDataLen--)
{
uIndex = uchCRCHi ^ *puchMsg++ ;
uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex] ;
uchCRCLo = auchCRCLo[uIndex] ;
}
return (uchCRCHi << 8 | uchCRCLo) ;
}
//數據校驗
unsigned short Check_Dat(unsigned char *pp,unsigned char Dat_len)
{
unsigned char Crc_H,Crc_L;
Crc_H = (unsigned char )crc16(pp,Dat_len);
Crc_L = (unsigned char )(crc16(pp,Dat_len)>>8);
if((Crc_H == *(pp+Dat_len))&&(Crc_L == *(pp+Dat_len+1)))
return Crc_Ok;
else
{
return Crc_Err;
}
}
void USART3_IRQHandler(void)//串口接收中斷
{
if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
{
buf[len] =USART_ReceiveData(USART3);//(USART1->DR);
len++;
if(len>7)//8個字節開始校驗
{
// LEDB=!LEDB;
if( Check_Dat(buf,len)==Crc_Ok)
{
// LEDA=!LEDA;
MRS485_Receive_Data();//接收數據處理
Rec_Buf_clean(buf,len);清空接收數據
len=0;
}
if(len>=30)//接收30個字節還未通過校驗
{
Rec_Buf_clean(buf,len);
len=0;
}
}
USART_ClearFlag(USART3,USART_FLAG_RXNE);
}
}
void Rec_Buf_clean(u8 *point,u8 len ) //清空數組
{
int p;
for (p=0;p<len;p++)
{
point[p]=0;
}
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久久久久久久91
|
国产精品成人久久久久
|
成人高清视频在线观看
|
精品欧美一区二区三区久久久
|
欧美激情一区二区
|
黄在线免费观看
|
久久草视频
|
国产偷久久一级精品60部
|
羞羞视频网页
|
91精品国产色综合久久不卡98口
|
欧美成年人视频在线观看
|
97国产成人
|
精品国产一区二区在线
|
日韩一区精品
|
91久久精品视频
|
亚洲色综合
|
亚洲天堂av一区
|
日韩综合在线播放
|
欧美激情第一区
|
国产精品久久久久久久午夜片
|
精品亚洲一区二区
|
欧美一区二区三区视频
|
亚洲网站免费看
|
国产成人久久精品一区二区三区
|
午夜影院黄
|
日韩免费
|
欧美成人在线网站
|
日韩一区二区不卡
|
av网址在线
|
北条麻妃av一区二区三区
|
91在线视频免费观看
|
亚洲综合第一页
|
中文字幕国产日韩
|
日韩在线免费视频
|
91资源在线观看
|
亚洲一区二区免费视频
|
欧美日韩精品一区
|
国产精品美女在线观看
|
欧美亚洲网站
|
国内精品免费久久久久软件老师
|
国产午夜三级一区二区三
|