打印

未读的接收缓冲器为何自动清0

[复制链接]
1429|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
seiyazhang|  楼主 | 2008-3-26 17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AXD下使用H-JTAG"单步"调试2440 串口时:
当全速运行时,没有问题,收发正常;
但在单步调试时,先通过串口调试工具发一个字节给2440,接下来单步执行一步,接收缓冲器也收到数据,但再执行一步,还没等到查询后读数据缓冲器,他自己就自动清0;
我怀疑是因为JTAG每单步执行一次就读所有的SFR值,其中也包括UART的接收缓冲器,而使其自动清0;望高手指点一二?不胜感激!

另外,以上问题是使用PCLK做为UART波特率时钟,那请问使用FCLK/n和slow_bit=1, slow_value=0(即FCLK=MPLL_output)的情况,各位有没有在9600下调成功的,我试了一周都不行,不知差在那里!叩谢!

相关帖子

沙发
seiyazhang|  楼主 | 2008-3-27 09:00 | 只看该作者

自己结下帖吧!

如twentyone所述:
AXD下打开内存窗口时,每单步执行一次,AXD会读当前窗口中内存映射的寄存器的内容,因此对于象"读后自动清0"的寄存器就会有跟程序本身读其一样的效果,若关闭窗口或该类寄存器不在该内存窗口区内,则程序读正常;
我试过,的确如此!

使用特权

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

本版积分规则

2

主题

4

帖子

0

粉丝