當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]資源使用說明:2410+LINUX、UART(即RS-232串口)全雙工通信、RS-485半雙工通信局部程序框圖及其設(shè)計(jì)說明:調(diào)試記錄及調(diào)試結(jié)果:MODBUS總結(jié): MODBUS協(xié)議對比:ASCII模式:用8位表示一

資源使用說明:2410+LINUX、UART(即RS-232串口)全雙工通信、RS-485半雙工通信

局部程序框圖及其設(shè)計(jì)說明:

調(diào)試記錄及調(diào)試結(jié)果:

MODBUS總結(jié):

MODBUS協(xié)議

對比:

ASCII模式:用8位表示一個(gè)由內(nèi)容字符轉(zhuǎn)化而來的實(shí)際數(shù)值,直觀;

RTU模式 :用4位表示一個(gè)由內(nèi)容字符轉(zhuǎn)化而來的實(shí)際數(shù)值,效率高。

其它編程注意點(diǎn)總結(jié):

1、分母或乘數(shù)為2的n次方的乘除法用移位運(yùn)算以提高效率,注意移位運(yùn)算符的優(yōu)先級(jí)比加減運(yùn)算符低,別忘了加括號(hào)先算移位的;

2、short兩個(gè)字節(jié),long四個(gè)字節(jié),int則與機(jī)器字長相關(guān)。

3、在使用多個(gè)輸出函數(shù)連續(xù)進(jìn)行多次輸出時(shí),有可能發(fā)現(xiàn)輸出錯(cuò)誤。因?yàn)橄乱粋€(gè)數(shù)據(jù)再上一個(gè)數(shù)據(jù)還沒輸出完畢,還在輸出緩沖區(qū)中時(shí),下一個(gè)printf就把另一個(gè)數(shù)據(jù)加入輸出緩沖區(qū),結(jié)果沖掉了原來的數(shù)據(jù),出現(xiàn)輸出錯(cuò)誤。 在 prinf();后加上fflush(stdout); 強(qiáng)制馬上輸出,避免錯(cuò)誤。

4、menset()用法: char arr[20]; memset(arr,'