[ZLG-ARM] 2138从掉电模式被唤醒后UART0异常的问题

[复制链接]
1915|2
 楼主| gooofy 发表于 2008-10-24 09:50 | 显示全部楼层 |阅读模式
请教个问题:<br /><br />我使用LPC2138进入掉电模式,p0.14作为中断唤醒cpu,不产生中断<br /><br />唤醒成功后开启所有外围设备。<br /><br />问题是唤醒以后UART0发送异常。2138发送了一个0x26,电脑串口却接收到连续3个0x80<br /><br />&nbsp;<br /><br />不知道还有什么地方没有注意到啊?<br /><br />相关程序如下:<br /><br />while(1)<br />&nbsp;{<br />&nbsp;&nbsp;PINSEL0&nbsp;|=&nbsp;0x20050005;&nbsp;&nbsp;&nbsp;//P0.14开启中断1<br />&nbsp;<br />&nbsp;&nbsp;EXTWAKE&nbsp;=&nbsp;0x02;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;外部中断1唤醒芯片<br />&nbsp;&nbsp;EXTINT&nbsp;&nbsp;=&nbsp;0x02;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;清除EINT1中断标志<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;IO0CLR&nbsp;|=&nbsp;whitelight;&nbsp;&nbsp;&nbsp;//关闭背光<br />&nbsp;&nbsp;delay(100);<br />&nbsp;&nbsp;UART0_SendByte(0x23);<br />&nbsp;&nbsp;PCONP&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;关闭定时器、RTC、UART等功能部件<br />&nbsp;&nbsp;PCON&nbsp;&nbsp;=&nbsp;0x02;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;系统进入掉电模式<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;delay(100);<br />&nbsp;&nbsp;PCONP&nbsp;=&nbsp;0x001817BE;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;开启定时器、RTC、UART等功能部件<br />&nbsp;&nbsp;//PINSEL0&nbsp;|=&nbsp;0x20050005;<br />&nbsp;&nbsp;//UART1_Init();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;串口初始化<br />&nbsp;&nbsp;//UART0_Init();<br /><br />&nbsp;&nbsp;delay(100);<br />&nbsp;&nbsp;UART0_SendByte(0x26);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//从这一次串口输出开始不正常<br /><br />&nbsp;&nbsp;......<br />}<br />
ZLG_Dengz 发表于 2008-10-24 19:32 | 显示全部楼层

和PLL有关

&nbsp;&nbsp;&nbsp;&nbsp;掉电后,PLL会被关闭。&nbsp;从掉电状态唤醒后,PLL并不会自动恢复,而是需要你重新初始化。<br />&nbsp;&nbsp;&nbsp;&nbsp;掉电前,你的系统经过PLL倍频产生了系统时钟(SYSCLK),波特率也是在这个时钟的基础上得到的。<br />&nbsp;&nbsp;&nbsp;而从掉电模式下唤醒后,PLL处于关闭状态,你的系统时钟不再是SYSCLK.使用你设定的分频值也将得不到你需要的波特率,&nbsp;这可能就是导致你看到的乱码的原因。
 楼主| gooofy 发表于 2008-10-25 16:49 | 显示全部楼层

谢谢

谢谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

31

帖子

1

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