[ZLG-ARM] 请高手确认:LPC22xx系列的CPU是否有缺陷

[复制链接]
 楼主| a_bb 发表于 2007-5-9 15:37 | 显示全部楼层 |阅读模式
我提出过在LPC2214上设置外部中断极性会影响系统时钟的问题<br />https://bbs.21ic.com/club/bbs/list.asp?boardid=39&page=1&t=2520047&tp=%u7CFB%u7EDF%u65F6%u949F%u53D8%u5316%u4E4B%u8FF7<br /><br />为了确认问题,我们在周工的开发板上做了实验:<br />开发板easyArm2200(LPC2210),IDE&nbsp;ADS1.2&nbsp;+EASYJTAG&nbsp;1.05<br />实验程序:第3章第20个实验&nbsp;SendStr_c<br />为方便观察现象,我将串口速率改为9600&nbsp;即&nbsp;#define&nbsp;UART_BPS&nbsp;9600<br /><br />主程序如下:<br />int&nbsp;&nbsp;main(void)<br />{&nbsp;&nbsp;PINSEL0&nbsp;=&nbsp;0x00000005;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置I/O连接到UART0<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;UART0_Ini();<br />&nbsp;&nbsp;&nbsp;while(1)&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;UART0_SendStr(SEND_STRING);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DelayNS(10);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;return(0);<br />}<br />显然没有设置、开启如何中断。<br />一切正常,串口得到9600速率的Hello&nbsp;World!<br /><br />更改如下<br />int&nbsp;&nbsp;main(void)<br />{&nbsp;&nbsp;PINSEL0&nbsp;=&nbsp;0x00000005;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置I/O连接到UART0<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;UART0_Ini();<br />&nbsp;&nbsp;&nbsp;EXTMODE&nbsp;=&nbsp;newvalue;&nbsp;&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;&nbsp;while(1)&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;UART0_SendStr(SEND_STRING);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DelayNS(10);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;return(0);<br />}<br />当newvalue&nbsp;=&nbsp;0xff,0x01,0x04,0x08时,正常<br />但当newvalue&nbsp;=&nbsp;0x02时,串口速率为19200。2倍!<br /><br /><br />再更改如下<br />int&nbsp;&nbsp;main(void)<br />{&nbsp;&nbsp;PINSEL0&nbsp;=&nbsp;0x00000005;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置I/O连接到UART0<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;UART0_Ini();<br />&nbsp;&nbsp;&nbsp;EXTPOLAR&nbsp;=&nbsp;newvalue;&nbsp;&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;&nbsp;while(1)&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;UART0_SendStr(SEND_STRING);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DelayNS(10);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;return(0);<br />}<br />当newvalue&nbsp;=&nbsp;0xff,0x01,0x04,0x08时,正常<br />但当newvalue&nbsp;=&nbsp;0x02时,串口速率为19200。2倍!<br /><br />确实速率加倍只是表象,实质是时钟频率加倍了,<br />但我不清楚是改变了pll还是pclk<br /><br /><br />从现象看,我认为LPC2200系列是存在某种设计缺陷的,<br />我请周立功公司的各位老师也仔细研究一下,看看是我使用得<br />不正确,还是确实有缺陷,感谢你们的答复。<br />
wlq_9 发表于 2007-5-9 15:46 | 显示全部楼层

恭喜你

看看勘误表,刚好有这一项.<br />当你设置EXTMODE&nbsp;or&nbsp;EXTPOLAR时,VPBDIV的值可能会被改变.
 楼主| a_bb 发表于 2007-5-10 16:17 | 显示全部楼层

以前从没看过勘误表,以为说的是一些文字上的错误,<br />看过才发现2214有如此多的缺陷存在,这样的产品他们<br />竟还敢生产!既然发现了这些缺陷,为何在现批次的产品<br />中就没有改正呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

98

帖子

0

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