單片機I/O口模擬串口
最近調(diào)試GPS的一個模塊,需要把數(shù)據(jù)從GPS讀取,再通過串口發(fā)送給PC機等一些功能。要用到2個串口,我使用了AMTEGA8A單片機,所以用普通IO模擬做了一個串口。花了我兩個晚上的時間,才調(diào)試好模擬串口程序,也遇到不少的問題,今天終于搞定了。但是還只是波特率1200,校驗位N 數(shù)據(jù)8 停止1 ,以后再慢慢完善。
模擬串口主要是先要考慮到波特率和數(shù)據(jù)格式。我采用的1200的波特率,所以一個位的時間是:1s/1200=833.3333333us .這里我沒用定時器,我是用延時來實現(xiàn)定時的,一個位的延時時間定為833us,AVR里面的延時程序還是比較精確的,我用示波器觀察波形,也是正確的。一般串口協(xié)議(校驗位N 數(shù)據(jù)8 停止1 )以我現(xiàn)在調(diào)試這個來說,比較簡單,一個起始位,8位數(shù)據(jù),一個停止位,每一位時間都是833u。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。