
本文介紹如何使用帶FIFO的串口來減少接收中斷次數(shù),通過一種自定義通訊協(xié)議格式,給出幀打包方法;之后介紹一種特殊的串口數(shù)據(jù)發(fā)送方法,可在避免使用串口發(fā)送中斷的情況下,提高系統(tǒng)的響應速度。
1、概述
每接收一個字節(jié)數(shù)據(jù),產生一次接收中斷。不能有效的利用串口硬件FIFO,減少中斷次數(shù)。
應答數(shù)據(jù)采用等待發(fā)送的方法。由于串行數(shù)據(jù)傳輸?shù)臅r間遠遠跟不上CPU的處理時間,等待串口發(fā)送完當前字節(jié)再發(fā)送下一字節(jié)會造成CPU資源浪費,不利于系統(tǒng)整體響應(在1200bps下,發(fā)送一字節(jié)大約需要10ms,如果一次發(fā)送幾十個字節(jié)數(shù)據(jù),CPU會長時間處于等待狀態(tài))。
應答數(shù)據(jù)采用中斷發(fā)送。增加一個中斷源,增加系統(tǒng)的中斷次數(shù),這會影響系統(tǒng)整體穩(wěn)定性(從可靠性角度考慮,中斷事件應越少越好)。
針對上述的不足之處,將結合一個常用自定義通訊協(xié)議,提供一個完整的解決方案。
2、串口FIFO
3、數(shù)據(jù)接收與打包

4、數(shù)據(jù)發(fā)送
------------?END?------------

●專欄《嵌入式工具》
●專欄《嵌入式開發(fā)》
●專欄《Keil教程》
●嵌入式專欄精選教程
關注公眾號回復“加群”按規(guī)則加入技術交流群,回復“1024”查看更多內容。

