
真正的程序员,都不用while 函数 这是一个超占CPU资源的函数 他工作 其它程序无法工作
你的原因是因为 程序一直在等待中(串口一直在忙等待),所以一直停在WHILE那里了 无法发送数据出去 你仿真10分钟,其实可能烧入单片机中 ,就执行那几S钟,所以你觉得有问题,可以直接下载到单片机中,一下就看出来了。
// UCSR0A = 0b00100000 ; // | RXC | TXC | UDRE | FE | DOR | PE | U2X | MPCM |
这句要改成
UCSR0A = 0x00 ; //不能被 引掉
你看我的例程 这是OK的
//UART0 initialisation
// desired baud rate: 250000
// actual: baud rate:250000 (00%)
// char size: 8 bit
// parity: Disabled
void uart0_init(void)
{
UCSRB = 0x00; // RXEN //disable while setting baud rate
UCSRA = 0x02; // RXC=0-- RXC TXC UDRE FE DOR PE U2X MPCM
UCSRB = 0xFC; // 0XDF -- RXCIE TXCIE UDRIE RXEN TXEN UCSZ2 RXB8 TXB8
UCSRC = 0x06; // 9 bit-- URSEL UMSEL UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL
UBRRH = 0x00; // set baud rate hi
UCSRC = 0x8E; // 9 bit 86
UBRRL = 0x07; //set baud rate lo ( 0x03 u2x=0) ===>(((16M)))
}
发送的时候
while (!(UCSRA&(1<<UDRE))); //cannel 3
{
UCSRB=(1<<RXCIE)|(1<<TXCIE)|(1<<UDRIE)|(1<<RXEN)|(1<<TXEN)|(1<<UCSZ2)|(1<<TXB8);
UDR=LED_BLUE;//SEND_DATA;
}
以上就是关于xp系统盘,序列号全部的内容,包括:xp系统盘,序列号、有谁用AVR的MEGE系列做过485通信程序给个例程好吗、串口发送数据时单片机能执行其他程序吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)