GPIO模拟串口
模擬串口
?
???????? 串口默認的1byte數據格式為(暫不考慮校驗位):1bit起始位+8bit數據位+1bit停止位,起始位(S)為低電平,停止位(T)為高電平。具體格式如下圖所示
?
若波特率為9600,每s傳輸9600Bd。二進制下波特率等于比特率。則可看成每s傳輸9600bit。
1/9600 = 104 us 每104us發送1bit
?
定時器配置為104us觸發一次,進入定時器中斷。
?
下面以發送1bit START + 1byte DATA + 1bit STOP數據為例
若為發送數據,每104us發送一個bit(即進入TIM中斷發送)? 則:
先發送START位,為低電平
再發送8bit的數據
最后發送STOP位,為高電平
?
?
若為接收數據,則:
在TIM中斷函數中判斷RX引腳的電平
平時RX為高電平,若檢測到RX為低電平,則表示串口收到數據,開始接收模式。
將START位后的8bit數據接收放入BUFF中。
總結
- 上一篇: STM8L之外部中断
- 下一篇: Altium designer 操作笔记