你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32的串口无FIFO真是一大败笔  

[复制链接]
abc_in_china 提问时间:2017-1-10 09:55 /
STM32的串口无FIFO真是一大败笔

结束时间: 2017-6-10 09:57

正方观点 (24)

强烈要求加入FIFO

VS
反方观点 (10)

不需要,DMA已足够

辩手:3 ( 加入 )
 
辩手:3 ( 加入 )
收藏 1 评论29 发布时间:2017-1-10 09:55

举报

29个回答
creep 回答时间:2017-1-10 10:19:27
STM32的RAM一般都不小,自己实现一个FIFO也不难。
没事逛荡 回答时间:2017-1-10 14:51:50
现在都做个缓冲区,操作方便。
奏奏奏 回答时间:2017-1-10 15:24:06
我觉得芯片只是个工具,既然你选择了这样的工具,就要去灵活应用它
moyanming2013 回答时间:2017-1-10 15:35:31
1.FIFO也有软件复杂度,对新手来说DMA更加具有普适性。对老手来说你总得该学点新东西了。
2.软件实现FIFO的复杂度比硬件FIFO来的简单,软件也可以完成FIFO的功能。
ToDo 回答时间:2017-1-12 09:29:42
雖然可以使用DMA實現,但是如有DMA被高級別的用戶佔用總線的話,可能會導致數據接收不可靠。
如果有自己的緩衝區當然是最好的了。
netlhx 回答时间:2017-1-12 09:34:18
有个还是更好,不过出于硬件成本考虑,厂商是否愿意是个问题
斜阳 回答时间:2017-1-12 09:38:32
多一个fifo会更好,使用更方便;
wofei1314 回答时间:2017-1-12 09:43:41
觉得有没有都无所谓...

反正能实现自己的需求就行了,有FIFO就用,没有就自己想办法解决....

点评

嗯,自己想办法。  发表于 2017-1-12 09:45
海迹天涯 回答时间:2017-1-12 10:47:09
不需要
小小超 回答时间:2017-1-12 10:52:54
串口不需要传输很多数据吧?加不加无所谓。
moyanming2013 回答时间:2017-1-12 11:49:17
morecool 发表于 2017-1-12 09:29
雖然可以使用DMA實現,但是如有DMA被高級別的用戶佔用總線的話,可能會導致數據接收不可靠。
如果有自己的 ...

一次串口通信时往往采用中断+查询方式,即使对于FIFO来说“中断+查询”都是最快的方式可能。这可能就削弱了FIFO的优点了。
此时也会有总线占用的问题。
ToDo 回答时间:2017-1-12 13:11:58
moyanming2013 发表于 2017-1-12 11:49
一次串口通信时往往采用中断+查询方式,即使对于FIFO来说“中断+查询”都是最快的方式可能。这可能就削弱 ...

頻繁的中斷對於資源的開銷是比較大的,特別是高波特率和數據量較大的情況下更為突出。
FIFO模塊存在于串口模塊中,接收到的數據并不通過APB總線傳輸到FIFO中,而是直接由串口模塊傳輸,如果需要設計成通過APB總線傳輸,那與DMA傳輸方式一樣了,FIFO功能也就沒有了存在的必要。
ToDo 回答时间:2017-1-12 13:16:56
本帖最后由 morecool 于 2017-1-12 13:19 编辑
ts2000 发表于 2017-1-12 10:52
串口不需要传输很多数据吧?加不加无所谓。

如果系統存在多個需要實時響應的中斷時,FIFO的存在可以減輕系統負擔和提高通訊的可靠性。
要說因為STM32沒有FIFO模塊就成為了敗筆,那有點言過其實了。如果真的出現上面說的那種情況,只能通過優化程式或選擇更高主頻的處理器來解決問題了。
wolfgang 回答时间:2017-1-12 13:43:09
增加FIFO增加了硬件及控制,还是DMA通用些~~~~~。
不要什么都往弹片机里装,硬件、代码都要重写,无形中增加了使用成本
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版