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

[复制链接]
 楼主| seiyazhang 发表于 2008-3-26 17:26 | 显示全部楼层 |阅读模式
AXD下使用H-JTAG&quot;单步&quot;调试2440&nbsp;串口时:<br />当全速运行时,没有问题,收发正常;<br />但在单步调试时,先通过串口调试工具发一个字节给2440,接下来单步执行一步,接收缓冲器也收到数据,但再执行一步,还没等到查询后读数据缓冲器,他自己就自动清0;<br />我怀疑是因为JTAG每单步执行一次就读所有的SFR值,其中也包括UART的接收缓冲器,而使其自动清0;望高手指点一二?不胜感激!<br /><br />另外,以上问题是使用PCLK做为UART波特率时钟,那请问使用FCLK/n和slow_bit=1,&nbsp;slow_value=0(即FCLK=MPLL_output)的情况,各位有没有在9600下调成功的,我试了一周都不行,不知差在那里!叩谢!
 楼主| seiyazhang 发表于 2008-3-27 09:00 | 显示全部楼层

自己结下帖吧!

如twentyone所述:<br />AXD下打开内存窗口时,每单步执行一次,AXD会读当前窗口中内存映射的寄存器的内容,因此对于象&quot;读后自动清0&quot;的寄存器就会有跟程序本身读其一样的效果,若关闭窗口或该类寄存器不在该内存窗口区内,则程序读正常;<br />我试过,的确如此!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

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