这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » AXD下使用H-JTAG单步调试2440 串口时, 未读的接收缓冲器为何自动清0

共4条 1/1 1 跳转至

AXD下使用H-JTAG单步调试2440 串口时, 未读的接收缓冲器为何自动清0

菜鸟
2008-03-26 11:05:38     打赏

如题,当全速运行时,没有问题,收发正常;
但在单步调试时,先通过串口调试工具发一个字节给2440,接下来单步执行一步,接收缓冲器也收到数据,但再执行一步,还没等到查询后读数据缓冲器,他自己就自动清0;
我怀疑是因为JTAG每单步执行一次就读所有的SFR值,其中也包括UART的接收缓冲器,而使其自动清0;
望高手指点一二,不胜感激!

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




关键词: 使用     H-JTAG     单步     调试     串口     未读     接收         

菜鸟
2008-03-26 12:21:00     打赏
2楼
单步运行的时候,AXD应该不会去读取SFR的值的。有一种可能是你打开了内存观察窗口,并且地址空间覆盖了SFR的地址,这样每次AXD都会读取SFR。你把内存观察窗口关闭试一试。

另外,你单步的时候,执行到接收部分的时候,不要单步运行了,在查询后面一点的位置设置一个断点试一试。这样可以保证接收过程是连续执行的。

菜鸟
2008-03-26 21:45:10     打赏
3楼

谢过TWENTYONE了!
没错我是开着内存观察窗口来着,要不我怎么知道他清0了;也就是说,开窗口也就默认要读SFR值了;不开就没事了,以后还得注意一下!恩!
这个问题我在21IC和你的forum.h-jtag也发过,请不必再回帖了!谢谢


菜鸟
2008-03-27 09:20:52     打赏
4楼
问题解决了就好  :- )

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]