- 积分
- 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)这里不动了,程序一直在等待接收。不知道有没有人也出现这种情况,怎么解决呢?
本人是刚学嵌入式开发的菜鸟,请各位指教。 |
|