[ZLG-MCU] 用过飞利浦的UART FIFO的高手请指点

[复制链接]
3194|6
 楼主| 小研究 发表于 2007-6-1 09:30 | 显示全部楼层 |阅读模式
小弟目前的一个系统,由于某种原因,串行通讯的波特率设置的很高为57600,这给MCU造成了很大的负担,我想用UART&nbsp;FIFO来减缓一下,但是又不能用中断,否则会干扰原系统的运行。如此想来,仿佛只有DMA模式可选了,所以小弟想问问有没有用过这两种芯片的DMA模式的,如果有的话,请指点几句,该如何设计。<br />感激不尽!<br />谢谢&nbsp;<br />
daguang72 发表于 2007-6-1 15:38 | 显示全部楼层

我在用16C2550

用并口扩展2个串口,查询模式
zlgmcu 发表于 2007-6-1 16:31 | 显示全部楼层

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

有的客户往往希望在中断里把某某功能给做完,<br />因此一堆堆的程序放在中断里.这往往使得系统中断的效率比较低.<br />在处理这个中断的时候,那个中断又来了,第三个中断又来了.怎么办?<br /><br />//-------------------------------------------------------<br />个人比较推崇如下程序设计风格(对于复杂的中断处理):<br />当外部器件满足条件产生中断信号以后,<br />中断信号触发mcu进入中断.<br />在中断中设置相关标志位.及其他一些中断设置.<br />然后退出中断,<br />在主程序中,则不断地查询那些标志位.并根据这些标志位完成您想要完成的功能,比如读数据,存储数据,发数据等等操作.<br />操作完成以后,一定要注意还原标志位及中断使能条件,以让下次进入中断.<br /><br />总得来说,如果处理得好,很复杂的中断也是无所畏惧的.<br /><br /><font color=#FF0000>瞬发的中断能够非常有效地满足系统实时性要求,防止丢数,及其他一些异常情况出现</font><br />
王紫豪 发表于 2007-6-3 00:59 | 显示全部楼层

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

  
hq_y 发表于 2007-6-3 01:38 | 显示全部楼层

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

  
snakeemail 发表于 2007-6-3 08:40 | 显示全部楼层

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

其实可以把中断中发生的任何事件都放入fifo,然后在主程序里检测fifo,进行处理,就ok了,因为把事件放入fifo中,时间可以很短
daguang72 发表于 2007-6-4 15:13 | 显示全部楼层

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

869

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部