ARM技术william hill官网
直播中

abdkjshd

8年用户 1156经验值
擅长:可编程逻辑
私信 关注
[问答]

LPC2142的UART0通讯老是容易出错怎么回事啊

通讯老是容易出错, 怎么回事啊, 是按照大家的例题弄的,只有加了一段延时的时间发送才正确, 是怎么回事??? 而且复位后都运行不了??
#include
#define fosc 12000000
#define fcclk fosc*5
#define fpclk fcclk/4

void delay(long i )
{ int j=0,k=0;
for (j=0;j for (k=0;k }

int main()
{ unsigned int uartdiv=0;

char str=0x23;
PINSEL0=0X05;
U0LCR=0X83;
uartdiv=fpclk/(16*19200);
U0DLM=(char)(uartdiv/256);
U0DLL=(char)(uartdiv%256);
U0LCR=0X03;
while(1)
{
U0THR=str;
while (U0LSR!=0X60) ;

delay(1000000); // 不加它发数据就出错,
}

}

回帖(3)

jinyi7016

2022-6-9 16:27:35
使用中断的方式试试效果呢
你这个程序只是在接收吗
举报

贾埃罗

2022-6-9 17:07:06
delay(1000000);  是每发一个字符后的延时
举报

jsqueh

2022-6-9 17:07:46
while (U0LSR!=0X60) ;
和40不是60
举报

更多回帖

发帖
×
20
完善资料,
赚取积分