你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
结束时间: 2017-6-10 09:57
强烈要求加入FIFO
不需要,DMA已足够
风子
ToDo
netlhx
moyanming2013
wolfgang
海迹天涯
举报
morecool 发表于 2017-1-12 09:29 雖然可以使用DMA實現,但是如有DMA被高級別的用戶佔用總線的話,可能會導致數據接收不可靠。 如果有自己的 ...
moyanming2013 发表于 2017-1-12 11:49 一次串口通信时往往采用中断+查询方式,即使对于FIFO来说“中断+查询”都是最快的方式可能。这可能就削弱 ...
ts2000 发表于 2017-1-12 10:52 串口不需要传输很多数据吧?加不加无所谓。
2.软件实现FIFO的复杂度比硬件FIFO来的简单,软件也可以完成FIFO的功能。
如果有自己的緩衝區當然是最好的了。
反正能实现自己的需求就行了,有FIFO就用,没有就自己想办法解决....
点评
一次串口通信时往往采用中断+查询方式,即使对于FIFO来说“中断+查询”都是最快的方式可能。这可能就削弱了FIFO的优点了。
此时也会有总线占用的问题。
頻繁的中斷對於資源的開銷是比較大的,特別是高波特率和數據量較大的情況下更為突出。
FIFO模塊存在于串口模塊中,接收到的數據并不通過APB總線傳輸到FIFO中,而是直接由串口模塊傳輸,如果需要設計成通過APB總線傳輸,那與DMA傳輸方式一樣了,FIFO功能也就沒有了存在的必要。
如果系統存在多個需要實時響應的中斷時,FIFO的存在可以減輕系統負擔和提高通訊的可靠性。
要說因為STM32沒有FIFO模塊就成為了敗筆,那有點言過其實了。如果真的出現上面說的那種情況,只能通過優化程式或選擇更高主頻的處理器來解決問題了。
不要什么都往弹片机里装,硬件、代码都要重写,无形中增加了使用成本