工控菜鳥(niǎo)
菜鳥(niǎo)一只
級(jí)別: 論壇先鋒
|
圖片:
上圖是變頻器的通訊幀,下圖是別人寫(xiě)的和單片機(jī)通訊宏 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 //主程序 macro_command main() bool on = true, off = false //PCB I點(diǎn)狀態(tài) unsigned short PCB_I //PCB O點(diǎn)狀態(tài) unsigned short PCB_O //接收長(zhǎng)度 unsigned short inLength //接收CRC校驗(yàn)結(jié)果 unsigned char inCRC //通訊計(jì)次 unsigned int comTime //通訊幀頭 outArr[0] = 0x80 outArr[1] = 0xEB outArr[2] = 0x90 outArr[3] = 0x30 //獲取PCB O點(diǎn)控制的狀態(tài) GetData(PCB_O,"Local HMI",LW,11,1) LOBYTE(PCB_O,outArr[4]) 這一行只是寫(xiě)了個(gè)低八位到數(shù)據(jù)1,如果我是和變頻器通訊需要寫(xiě)高八位和低八位要怎么寫(xiě),怎么定義變量呢? outArr[5] = 0x00 //CRC outArr[6] = PCB_CRC(5,0) 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 下行幀結(jié)構(gòu),及說(shuō)明 設(shè)備地址 同步碼1 同步碼2 控制字 數(shù)據(jù)1 數(shù)據(jù)2 校驗(yàn)碼 80H EBH 90H 30H 00H 00H CRC 設(shè)備地址: 80 固定地址 同步碼:EB 90 上位機(jī)與單片機(jī)同步字段 控制字:30 指執(zhí)行這個(gè)類型的命令 數(shù)據(jù)2:無(wú)意義,默認(rèn)填00H 數(shù)據(jù)1:每個(gè)bit對(duì)應(yīng)控制單片機(jī)上的繼電器吸合 校驗(yàn)碼:8位的查表校驗(yàn) [ 此帖被工控菜鳥(niǎo)在2020-01-01 18:38重新編輯 ] |
---|---|
|
工控菜鳥(niǎo)
菜鳥(niǎo)一只
級(jí)別: 論壇先鋒
|
大神都過(guò)節(jié)去了,如果我用LOBYTE 和HIBYTE函數(shù)拆分?jǐn)?shù)據(jù)是不是可以實(shí)現(xiàn),明天試下 |
---|---|
|