LPC23XX的PCONP与UART2和UART3

LPC2368的UART2、UART3与UART0、UART1有什么区别?

作者:z_bing 栏目:ARM技术
LPC2368的UART2、UART3与UART0、UART1有什么区别?
同样的处理方法UART0、UART1正常,UART2、UART3死机,下面是那段程序:
#include <LPC23xx.h>
#define CR     0x0D
void Delay(unsigned int cnt)
{
    do
    {
        cnt--;
    }
    while(cnt!=0);
}
int sendchar0 (int ch)  
{
  if (ch == '\n')  {
    while (!(U0LSR & 0x20));
    U0THR = CR;                          /* OUTPUT CR */
  }
  while (!(U0LSR & 0x20));
  return (U0THR = ch);
}
int sendchar1 (int ch)  
{
  if (ch == '\n')  {
    while (!(U1LSR & 0x20));
    U1THR = CR;                          /* OUTPUT CR */
  }
  while (!(U1LSR & 0x20));
  return (U1THR = ch);
}
int sendchar2 (int ch)  
{
  if (ch == '\n')  {
    while (!(U2LSR & 0x20));
    U2THR = CR;                          /* OUTPUT CR */
  }
  while (!(U2LSR & 0x20));
  return (U2THR = ch);
}

int sendchar3 (int ch)  
{
  if (ch == '\n')  {
    while (!(U3LSR & 0x20));
    U3THR = CR;                          /* OUTPUT CR */
  }
  while (!(U3LSR & 0x20));
  return (U3THR = ch);
}main()
{
    PINSEL0 |= 0x00000050;               // Enable TxD0 and RxD0
    PINSEL4 |= 0x0000000A;               // Enable RxD1 and TXD0
    PINSEL0 |= 0x00500000;                 // Enable TXD2 and RXD2
    PINSEL9 |= 0x0F000000;                 // Enable TXD3 and RXD3
    PINSEL10 = 0;

  U0FDR    = 0;                          
  U0LCR    = 0x83;                     
  U0DLL    = 16;                    
  U0DLM    = 0;                    
  U0LCR    = 0x03;                    

  U1FDR    = 0;                        
  U1LCR    = 0x83;                      
  U1DLL    = 16;                
  U1DLM    = 0;                 
  U1LCR    = 0x03;              

  U2FDR    = 0;                      
  U2LCR    = 0x83;                       
  U2DLL    = 16;                       
  U2DLM    = 0;                    
  U2LCR    = 0x03;              

  U3FDR    = 0;                    
  U3LCR    = 0x83;               
  U3DLL    = 16;                
  U3DLM    = 0;                
  U3LCR    = 0x03;                  
  while(1)
  {
      sendchar0(0x55);
      sendchar1(0x55);
      sendchar3(0x55);
      Delay(10000);
  }
}


2楼: >>参与讨论
zlgARM
z_bing
    记得在PCONP里打开UART3和UART2。默认情况下,UART3、2是关闭的。
3楼: >>参与讨论
z_bing
谢谢zlgARM的指点,打开PCONP就好了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值