[ZLG-ARM] LPC2368的UART2、UART3与UART0、UART1有什么区别?

[复制链接]
4521|4
 楼主| z_bing 发表于 2007-3-28 13:33 | 显示全部楼层 |阅读模式
同样的处理方法UART0、UART1正常,UART2、UART3死机,下面是那段程序:<br />#include&nbsp;&ltLPC23xx.h&gt<br />#define&nbsp;CR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0D<br />void&nbsp;Delay(unsigned&nbsp;int&nbsp;cnt)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;do<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt--;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;while(cnt!=0);<br />}<br />int&nbsp;sendchar0&nbsp;(int&nbsp;ch)&nbsp;&nbsp;<br />{<br />&nbsp;&nbsp;if&nbsp;(ch&nbsp;==&nbsp;'\n')&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(!(U0LSR&nbsp;&&nbsp;0x20));<br />&nbsp;&nbsp;&nbsp;&nbsp;U0THR&nbsp;=&nbsp;CR;&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;&nbsp;/*&nbsp;output&nbsp;CR&nbsp;*/<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;while&nbsp;(!(U0LSR&nbsp;&&nbsp;0x20));<br />&nbsp;&nbsp;return&nbsp;(U0THR&nbsp;=&nbsp;ch);<br />}<br />int&nbsp;sendchar1&nbsp;(int&nbsp;ch)&nbsp;&nbsp;<br />{<br />&nbsp;&nbsp;if&nbsp;(ch&nbsp;==&nbsp;'\n')&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(!(U1LSR&nbsp;&&nbsp;0x20));<br />&nbsp;&nbsp;&nbsp;&nbsp;U1THR&nbsp;=&nbsp;CR;&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;&nbsp;/*&nbsp;output&nbsp;CR&nbsp;*/<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;while&nbsp;(!(U1LSR&nbsp;&&nbsp;0x20));<br />&nbsp;&nbsp;return&nbsp;(U1THR&nbsp;=&nbsp;ch);<br />}<br />int&nbsp;sendchar2&nbsp;(int&nbsp;ch)&nbsp;&nbsp;<br />{<br />&nbsp;&nbsp;if&nbsp;(ch&nbsp;==&nbsp;'\n')&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(!(U2LSR&nbsp;&&nbsp;0x20));<br />&nbsp;&nbsp;&nbsp;&nbsp;U2THR&nbsp;=&nbsp;CR;&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;&nbsp;/*&nbsp;output&nbsp;CR&nbsp;*/<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;while&nbsp;(!(U2LSR&nbsp;&&nbsp;0x20));<br />&nbsp;&nbsp;return&nbsp;(U2THR&nbsp;=&nbsp;ch);<br />}<br /><br />int&nbsp;sendchar3&nbsp;(int&nbsp;ch)&nbsp;&nbsp;<br />{<br />&nbsp;&nbsp;if&nbsp;(ch&nbsp;==&nbsp;'\n')&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(!(U3LSR&nbsp;&&nbsp;0x20));<br />&nbsp;&nbsp;&nbsp;&nbsp;U3THR&nbsp;=&nbsp;CR;&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;&nbsp;/*&nbsp;output&nbsp;CR&nbsp;*/<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;while&nbsp;(!(U3LSR&nbsp;&&nbsp;0x20));<br />&nbsp;&nbsp;return&nbsp;(U3THR&nbsp;=&nbsp;ch);<br />}main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL0&nbsp;|=&nbsp;0x00000050;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;TxD0&nbsp;and&nbsp;RxD0<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL4&nbsp;|=&nbsp;0x0000000A;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;RxD1&nbsp;and&nbsp;TXD0<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL0&nbsp;|=&nbsp;0x00500000;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;TXD2&nbsp;and&nbsp;RXD2<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL9&nbsp;|=&nbsp;0x0F000000;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;TXD3&nbsp;and&nbsp;RXD3<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL10&nbsp;=&nbsp;0;<br /><br />&nbsp;&nbsp;U0FDR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;&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;&nbsp;<br />&nbsp;&nbsp;U0LCR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x83;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U0DLL&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;16;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U0DLM&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U0LCR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x03;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;U1FDR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;&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;U1LCR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x83;&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;U1DLL&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;16;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U1DLM&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U1LCR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x03;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;U2FDR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;&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;U2LCR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x83;&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;U2DLL&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;16;&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;U2DLM&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U2LCR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x03;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;U3FDR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U3LCR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x83;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U3DLL&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;16;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U3DLM&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;U3LCR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x03;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendchar0(0x55);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendchar1(0x55);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendchar3(0x55);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delay(10000);<br />&nbsp;&nbsp;}<br />}<br />
zlgARM 发表于 2007-3-29 08:31 | 显示全部楼层

z_bing

&nbsp;&nbsp;&nbsp;&nbsp;记得在PCONP里打开UART3和UART2。默认情况下,UART3、2是关闭的。
 楼主| z_bing 发表于 2007-3-29 13:45 | 显示全部楼层

谢谢zlgARM的指点,打开PCONP就好了。

  
jinbos 发表于 2007-6-18 11:34 | 显示全部楼层

学习

看来还是要用的的外设不管默认情况是开不头,初始化时还是重新设一下的好
 楼主| z_bing 发表于 2007-6-19 11:11 | 显示全部楼层

jinbos说的对,初始化时该开的开该关的关是个比较好的习惯

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

本版积分规则

5

主题

13

帖子

0

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