[ZLG-ARM] 求助,lpc2103的uart1工作不正常,txen跳变。uart0稳定

[复制链接]
2322|3
 楼主| xzm0662 发表于 2008-9-24 09:13 | 显示全部楼层 |阅读模式
几乎一样的代码(除了uart0,uart1的寄存器),初始化,中断服务,相同的接收处理程序。但是uart1运行不稳定,有时txen会变成0,有时又变回1来。uart0运行稳定。两天多了,查不出问题。<br /><br />有谁能帮我,谢谢!<br /><br />开始以为txen没初始化,在初始化加上txen初始化也不行。<br />另外谁知道txen什么情况下会变化?
zlgarm 发表于 2008-9-26 08:17 | 显示全部楼层

RE:xzm0662

您好!<br />考虑了很久,也查了一些资料,但确实想不到这是什么原因。<br />您可尝试写个测试例程单独对UART1进行一下测试,观察一下TXEN变成0时UART1的其它寄存器有何异常。不防试试。
 楼主| xzm0662 发表于 2008-9-27 01:24 | 显示全部楼层

今天用另一块板子测,txen还是0,但是通讯功能正常

用的iar&nbsp;4.42+jlink,应该算是最好的装备了。<br />直接运行时停下看寄存器(用iar的寄存器查看窗口),uart0这个寄存器0x80,对应txen位1,uart1这个u1ter寄存器0x04,对应txen位0。<br />但是这个板子通讯正常,真是诡异。<br />而且iar可以修改uart0的txen位,不能修改uart1的txen位,不知为何<br />
 楼主| xzm0662 发表于 2008-9-27 01:40 | 显示全部楼层

又测一遍,竟然发现是IAR的错误

IAR的器件定义文件*.ddf竟然把地址写错了,把u1ter定义在<br /><br />sfr&nbsp;=&nbsp;&quot;U1TER&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,&nbsp;&quot;Memory&quot;,&nbsp;0xE001C030,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1,&nbsp;base=16<br />sfr&nbsp;=&nbsp;&quot;U1TER.TXEN&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,&nbsp;&quot;Memory&quot;,&nbsp;0xE001C030,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1,&nbsp;base=16,&nbsp;&nbsp;&nbsp;&nbsp;bitRange=7-7<br />显然搞错了。辜负了我对IAR的信任。<br /><br />刚才用memory窗口看到了0xE0010030看到了正确的u1ter才恍然大悟。<br />麻烦周公了!<br />那我另一块板子通讯不通很可能是断线了....寒,被这个并不存在的控制位折腾好几天
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

163

帖子

0

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