- 积分
 - 1
 
 
贡献0 
飞刀0 FD
注册时间2010-7-20
在线时间2 小时
 
 
 
  
扫一扫,手机访问本帖   
 | 
 
 本帖最后由 dfx2010 于 2010-7-20 21:09 编辑  
 
FL2440开发板,在做ADS基础实验的《实验七 串行口实验》时没得到预期结果,在dnw中敲入字符无反应。 
程序代码如下:- #define ULCON0     (*(volatile unsigned *)0X50000000)     //UART线控制寄存器
 
 - #define UCON0     (*(volatile unsigned *)0X50000004)     //UART控制寄存器
 
 - #define UFCON0      (*(volatile unsigned *)0X50000008)      //FIFO控制寄存器
 
 - #define UTRSTAT0      (*(volatile unsigned *)0X50000010)      //UART状态寄存器
 
 - #define UBRDIV0      (*(volatile unsigned *)0X50000028)     //波特率
 
 - #define UTXH0      (*(volatile unsigned *)0X50000020)
 
 - #define URXH0      (*(volatile unsigned *)0X50000024)
 
 - #define GPBDAT      (*(volatile unsigned *)0X58000054)
 
  
- int TSmain()
 
 - {
 
 -         char buf;
 
 -         
 
 -         ULCON0 &=0XFFFFFF00;
 
 -         ULCON0 |=0X03;           //1位起始位,8位数据位
 
 -         UCON0  =0X0805;          //串口时钟PCLK,查询方式
 
 -         UBRDIV0 =0X1A;           //波特率115200
 
 -         while(1)
 
 -         {  
 
 -                 if(UTRSTAT0 & 0X01)  //接收是否完毕 =1结束
 
 -                 {
 
 -                         buf=URXH0;       //读取数据
 
 -                         while(!(UTRSTAT0 & 0X04));//是否允许发送 =1允许
 
  
-                         UTXH0=buf;
 
 -                         
 
 -                 } 
 
 -         }
 
 -         
 
 -         return 0;
 
 - }
 
  
-  
 
  复制代码 调试时发现在if(UTRSTAT0 & 0X01)这里不动了,程序一直在等待接收。不知道有没有人也出现这种情况,怎么解决呢? 
 
本人是刚学嵌入式开发的菜鸟,请各位指教。 |   
 
 
 
 |