|
STC12C5A60S2串口通信帶CRC效驗,合適新手,希望有高手指點
單片機源程序如下:
- /*
- 串口協(xié)議
- 功能:通過判斷串口發(fā)送數(shù)據(jù),按數(shù)組0到最后一位進(jìn)行判斷
- ,用特定一個數(shù)組判斷選擇,用break跳出循環(huán),執(zhí)行數(shù)據(jù) */
- #include "gobal.h"
- #include "Uart_Handle.h"
- #include "Uart.h"
- #include "x5045.h"
- void Uart_Handle(void) //通訊協(xié)議判斷
- {
- uchar cmd_temp;
- //if(Recdata[REC_CMD1] ==0x00) //判斷設(shè)備地址
- if((Recdata[REC_CMD1]==0x00)&&(Recdata[REC_CMD2]==0x0B)&&(Recdata[REC_CMD3]==0x01)&&(Recdata[REC_CMD4]==0x00)&&(Recdata[REC_CMD5]==0x01)
- &&(Recdata[REC_CMD6]==0x0A)&&(Recdata[REC_CMD7]==0x00)&&(Recdata[REC_CMD8]==0x01)&&(Recdata[REC_CMD9]==0x01)&&(Recdata[REC_CMD10]==0x7F))
- {
-
- cmd_temp = Recdata[REC_CMD9]; //解析命令字
- switch(cmd_temp)
- {
- case sj2://0x01開燈
- sj1();
- break;
- case xj2://0x00關(guān)燈
- xj1();
- break;
- case gkm://關(guān)看門狗命令
- gkm1();
- break;
- case kkm://開看門狗命令
- kkm1();
- break;
- default://other
- break;
- }
- }
- }
- void sj1(void)//開燈
- {
- uchar To_PC_Data[12];
- To_PC_Data[0] = 0xCC; //接收包頭CC
- To_PC_Data[1] = 0x00; //應(yīng)答包字節(jié)數(shù)10
- To_PC_Data[2] = 0x0C;//地址
- To_PC_Data[3] = 0x01; //命令字
- To_PC_Data[4] = 0x00;
- To_PC_Data[5] = 0x01;
- To_PC_Data[6] = 0x0A;
- To_PC_Data[7] = 0x00;
- To_PC_Data[8] = 0x00;
- To_PC_Data[9] = 0x00;
- To_PC_Data[10] = 0x00;
- To_PC_Data[11] = 0x7F;
- UART0_Send_String(To_PC_Data,12);
- JDQ=1;
- dogflag=1;
- }
- void xj1(void)//關(guān)燈
- {
- uchar To_PC_Data[12];
- To_PC_Data[0] = 0xCC; //接收包頭CC
- To_PC_Data[1] = 0x00; //應(yīng)答包字節(jié)數(shù)10
- To_PC_Data[2] = 0x0C;//地址
- To_PC_Data[3] = 0x01; //命令字
- To_PC_Data[4] = 0x00;
- To_PC_Data[5] = 0x01;
- To_PC_Data[6] = 0x0A;
- To_PC_Data[7] = 0x00;
- To_PC_Data[8] = 0x00;
- To_PC_Data[9] = 0x00;
- To_PC_Data[10] = 0x00;
- To_PC_Data[11] = 0x7F;
- UART0_Send_String(To_PC_Data,12);
- JDQ=0;
- dogflag=0;
- }
- void gkm1(void)//開燈
- {
- WriteSR(0x32);
- }
- void kkm1(void)//開燈
- {
- WriteSR(0x12);
- }
復(fù)制代碼
所有資料51hei提供下載:
STC帶CRC效驗框架.rar
(59.8 KB, 下載次數(shù): 10)
2018-9-23 10:36 上傳
點擊文件名下載附件
新手可以看看 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|