|
晶振11.0592M 波特率9600 8位 1个停止位
以下是程序
#define uchar unsigned char
void UART0Init_9600(){
PINSEL0|=0x00000005;
PINSEL1|=0x00000000;
U0LCR=0x83;
U0DLM=0x00;
U0DLL=0x48;
U0LCR=0x03;
}
void UART0SendByte(uchar DATA){
U0THR=DATA;
while(!(U0LSR&0x20));
//while((U0LSR&0x40)==0);
}
void main(){
UART0Init_9600();
UART0SendByte(97);
UART0SendByte('B');
UART0SendByte('a');
while(1){}
}
未设置PLL
在硬件上调试和在Proteus下(虚拟终端)仿真,效果一样.. 结果均是 xxx 发送其他字符,均是乱码..
IAR下编写代码.. 请高手指教... 头都疼了.. 看了很多代码,都差不多. 觉得代码没问题.. 不知道如何调试了..
还有这句while(!(U0LSR&0x20)); ,while((U0LSR&0x40)==0); 其他代码中很多都用第二个, 但是在Proteus会报busy错误.. 使用第一句才正常...这是为何? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|