打印
[ZLG-ARM]

LPC2468串口通信问题

[复制链接]
1363|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ybqchj|  楼主 | 2008-11-18 17:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的串口在没有使用PLL时,与上位机通信都正常(接收是用中断接收),在使用了PLL之后(其他程序没改动),在没有用中断接收只单纯向上位机发送数据的情况下上位机收到的数据是正常,用了中断接收后上位机收到的数据就都错了,请周工帮忙解决..我用的板是LPC2468,通信协议是串口将上位机发过来的数据返回给上位机.

相关帖子

沙发
ZLG_Dengz| | 2008-11-18 21:57 | 只看该作者

RE

   请详细说明一下你的UART初始化,和中断处理函数。
   如果你使能了PLL,时钟改变了,UART应该重新配置。
   请调试一下,在从中断接收,到回发这整个过程中一步步检查一下,看看数据是否正确,看看问题处在哪个阶段。
 

使用特权

评论回复
板凳
ybqchj|  楼主 | 2008-11-19 09:44 | 只看该作者

RE

我使能了PLL之后,主程序中就一直给上位机发送数据,这时候上位机收到的数据是对的,如果主程序中改为将收到的数据回送给上位机时就错了;
__irq void UART0Headler(void)
{
  Value=U0RBR;
  SendF=1;
  VICVectAddr=0;
}
 

使用特权

评论回复
地板
ZLG_Dengz| | 2008-11-19 20:41 | 只看该作者

RE

“如果你使能了PLL,时钟改变了,UART应该重新配置。
   请调试一下,在从中断接收,到回发这整个过程中一步步检查一下,看看数据是否正确,看看问题处在哪个阶段”

   调试时看看寄存器里的值,U0RBR此类寄存器值是多少,UART状态寄存器值是多少等等? 进入中断后先判断是接收到数据引起的中断,还是其它错误引发的中断。

使用特权

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

本版积分规则

26

主题

56

帖子

0

粉丝