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