在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3125|回复: 6

大家看看,这样设计基于APB的UART行不?

[复制链接]
发表于 2007-6-25 09:43:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
想设计一个基于APB的uart控制器,初步设想以中断的方式通知cpu发送和接收数据。当发送fifo为空时,将中断寄存器中的某位置一,给出一个中断,然后CPU读取中断寄存器的值,然后发数据,如果FIFO满了,则将该位置零,同时给出一个中断,CPU读取后判断是否停止。用同样的方式处理接收FIFO。不知道这样设计合理不,希望各位大哥出来拍砖。谢谢!
 楼主| 发表于 2007-6-25 14:30:07 | 显示全部楼层
顶起,大家帮帮忙。
发表于 2007-6-26 08:21:40 | 显示全部楼层
这需要和软件进行商量,看是用中断方式还是用查询方式,如果是查询方式,那就不需要中断了
 楼主| 发表于 2007-6-26 14:56:10 | 显示全部楼层
我想知道,这种方式行不行啊,或者说有什么优缺点。

[ 本帖最后由 choplin 于 2007-6-26 14:57 编辑 ]
发表于 2007-6-27 08:50:30 | 显示全部楼层


如果FIFO满了,则将该位置零,同时给出一个中断,CPU读取后判断是否停止。



这样感觉不合理,如果 FIFO 满的中断处理不及时的话,将会丢数据!
 楼主| 发表于 2007-6-27 13:00:40 | 显示全部楼层
当发送FIFO为空时,给一个中断,cpu连续发送16个数据(假设FIFO为16x8的)。
 楼主| 发表于 2007-7-2 10:15:25 | 显示全部楼层


原帖由 diploma 于 2007-6-27 08:50 发表


这样感觉不合理,如果 FIFO 满的中断处理不及时的话,将会丢数据!


因为当发送FIFO为空时,给出中断,发送要经过很长一段时间才会再次读取FIFO的内容。同理,当接受FIFO为满时,同样要经过很长一段时间才能继续往FIFO里塞数据。所以应该不存在中断处理不及会丢数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-4 01:42 , Processed in 0.032037 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表