这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » EasyARM2104 EasyARM2104板串口2调不通,请周立功工程师给一

共2条 1/1 1 跳转至

EasyARM2104 EasyARM2104板串口2调不通,请周立功工程师给一个初始化程序

院士
2006-09-17 18:14:16     打赏
EasyARM2104 EasyARM2104板串口2调不通,请周立功工程师给一个初始化程序



关键词: EasyARM2104     串口     不通     请周     立功         

院士
2006-12-22 22:43:00     打赏
2楼
问 我用EasyARM2104板调试串口2,跳线设置也正确,并采用串口1的初始化程序进行修改,但是总是调不通,请周立功的工程师给一个串口初始化和简单通信程序。
谢谢!
   e-mail:sunlong05@163.com 1: 怎么没人理? 2: 初始化程序/*----------------------------------------------------------------------------------
函数原型:void InitUart0(INT32U Baud,INT8U DataLength,INT8U StopBit )
功能:初始化  uart0
输入:波特率,数据长度,停止位
输出:无
限制:
----------------------------------------------------------------------------------*/
void InitUart1(INT32U Baud,INT8U DataLength,INT8U StopBit )
{
   extern void Uart1_Handler(void);
   
   INT16U  Fdiv;
   INT8U   TempU1LCR=0x00 ;
   PINSEL0 = (PINSEL0 & 0xfff0ffff)|SEL_UART1;
   U1LCR = 0x80;
   Fdiv=(Fpclk / 16) / Baud;
   U1DLM = Fdiv / 256;                            
   U1DLL = Fdiv % 256;
  
   
   switch(DataLength)
      {
        case 0x05:
             break;
        case 0x06:
             TempU1LCR=0x01;
             break;
        case 0x07:
             TempU1LCR=0x02;
             break;
        case 0x08:
        default:
             TempU1LCR=0x03;
             break;
      }
     
   
   if(StopBit==0x02)
     TempU1LCR|=0x40;
   
   U1LCR =TempU1LCR;
   
  
   U1FCR = 0x01;

  
   
   VICVectAddr11 = (INT32U)Uart1_Handler;
   VICVectCntl11 = (0x20 | 0x07);
   VICIntEnable |= 1<<7;
  
  
} 3: 初始化对不起,函数头部注视InitUart0,应为InitUart1,
另外需加如下定义:
#define SEL_UART1    0x50000 4: 谢谢,回去试试

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]