|
8樓
發(fā)表于 2012-4-15 20:43:11
|
只看該作者
俺不寫(xiě)代碼N多年了,只能給點(diǎn)提示給你吧:
1、先制定一個(gè)完整的命令表。這個(gè)很重要,否則后面你會(huì )越做越亂的。
2、下位機就是單片機,一般C51片子都會(huì )有專(zhuān)門(mén)的UART接口的,好好讀懂數據手冊,通過(guò)設置幾個(gè)寄存器,一般就能完成了。
3、如果不巧沒(méi)有專(zhuān)用UART接口,則需要自己用軟件來(lái)模擬。那么建議,一是要用中斷IO口來(lái)進(jìn)行接收,用其他IO口來(lái)做發(fā)送;二是調用內部計時(shí)器,來(lái)計算時(shí)間的長(cháng)短,設置IO的高低電平(或接收口的高低電平)的時(shí)間長(cháng)短;三則,在固定的時(shí)間段內(根據約定的速率來(lái)計算),讀取接口(或設置接口)的高低電平,高為1,低為0;最后,采用移位算法,將下一位數據調用(或保存),最后構成完整的單個(gè)字節或者整條命令。 |
|