TMS320F206與CPU卡通信協議的優化
數據發送子程序為:

2.2 數據接收
接收數據一般采用軟件輪詢的方式實現。數據接收子程序為:

2.3 定時器設置
定時器中斷頻率由TDDR(定時器divide-down寄存器,定時計數寄存器TIM的低4位)和定時周期寄存器PRD共同確定。當兩者都為0時,定時器中斷頻率為(CLKOUT1rate)/2;兩者不全為0時,由如下公式確定:

舉例:為了實現9 600 bps的有效傳輸速率,實際傳輸速率(額外增加1位起始位、1位校驗位、1位停止位)應該為:
9 600 bps÷8×(8+1+1+1)=13 200 bps
故在晶振頻率為20 MHz的條件下,PRD=20×106/13200-1=1514。
此時,將PRD設置為1514,每兩次定時器中斷的時間間隔即為1位數據的保持時問。一般來說,讀取的時機靠近位寬的中間位置,讀取的數據比較可靠和穩定,如圖2所示。

3 軟件改進
圖2中,如果讀取的起始位的位置正好處在起始位的開始,此時就會出現將起始位的末尾誤判為第1位;或者讀取的起始位的位置處在起始位的末尾,將可能丟失數據的第1位,都會導致讀取數據出錯,如圖3所示。

評論