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