引用 3 楼 peasant_lee 的回复:
是不是你仿真状态下的波特率设置不对啊?
先在ADS下运行代码,然后再在keil下运行串口就正常的了,那是keil状态下,开始通讯失败,可以找找开头的代码看看,呵呵。
如何在keil下接收串口的数据,用中断方式,我老是进不了中断
串口初始化代码如下
/* 初始化UART0 */
void init_uart(void)
{
UARTMODE set;
uint32 bak;
uint32 baud = 9600;
PINSEL0 = 0x00000005; // 设置I/O连接到UART0
set.datab = 8; // 8位数据位
set.stopb = 1; // 1位停止位
set.parity = 0; // 无奇偶校验
/*********************************************************************/
/* 设置串口波特率 */
U0LCR = 0x80; // DLAB位置1
bak = (Fpclk>>4)/baud;
U0DLM = bak>>8;
U0DLL = bak&0xff;
/* 设置串口模式 */
bak = set.datab-5; // 设置字长度
if(2==set.stopb) bak |= 0x04; // 判断是否为2位停止位
if(0!=set.parity) {set.parity = set.parity-1; bak |= 0x08;}
bak |= set.parity