打印
[ZLG-MCU]

用过飞利浦的UART FIFO的高手请指点

[复制链接]
2025|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小研究|  楼主 | 2007-6-1 09:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟目前的一个系统,由于某种原因,串行通讯的波特率设置的很高为57600,这给MCU造成了很大的负担,我想用UART FIFO来减缓一下,但是又不能用中断,否则会干扰原系统的运行。如此想来,仿佛只有DMA模式可选了,所以小弟想问问有没有用过这两种芯片的DMA模式的,如果有的话,请指点几句,该如何设计。
感激不尽!
谢谢 

相关帖子

沙发
daguang72| | 2007-6-1 15:38 | 只看该作者

我在用16C2550

用并口扩展2个串口,查询模式

使用特权

评论回复
板凳
zlgmcu| | 2007-6-1 16:31 | 只看该作者

这些年,我看过很多客户写的程序.

有的客户往往希望在中断里把某某功能给做完,
因此一堆堆的程序放在中断里.这往往使得系统中断的效率比较低.
在处理这个中断的时候,那个中断又来了,第三个中断又来了.怎么办?

//-------------------------------------------------------
个人比较推崇如下程序设计风格(对于复杂的中断处理):
当外部器件满足条件产生中断信号以后,
中断信号触发mcu进入中断.
在中断中设置相关标志位.及其他一些中断设置.
然后退出中断,
在主程序中,则不断地查询那些标志位.并根据这些标志位完成您想要完成的功能,比如读数据,存储数据,发数据等等操作.
操作完成以后,一定要注意还原标志位及中断使能条件,以让下次进入中断.

总得来说,如果处理得好,很复杂的中断也是无所畏惧的.

瞬发的中断能够非常有效地满足系统实时性要求,防止丢数,及其他一些异常情况出现

使用特权

评论回复
地板
王紫豪| | 2007-6-3 00:59 | 只看该作者

同意三楼的思想,我也一直这么做,很稳定。。

使用特权

评论回复
5
hq_y| | 2007-6-3 01:38 | 只看该作者

标准的前后台的思想~~~~~~~~~~

使用特权

评论回复
6
snakeemail| | 2007-6-3 08:40 | 只看该作者

使用软件发送的fifo,看看张明峰的书吧.

其实可以把中断中发生的任何事件都放入fifo,然后在主程序里检测fifo,进行处理,就ok了,因为把事件放入fifo中,时间可以很短

使用特权

评论回复
7
daguang72| | 2007-6-4 15:13 | 只看该作者

多了解一些操作系统的知识对个人编程很有好处的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

869

帖子

8

粉丝