串行口定义方式0并置位REN后,启动以方式0接收时,此时以RXD端为数据输入端,TXD端输出同步时钟信号。
严格来说,51单片机的串口方式0,并不是用于串口通信的,只用于在RXD,TXD引脚上接有74LS164,串入/并出,或74LS165,并入串出。也就是只能与串行芯片配合使用的。而真正用串口实现串行通信的是方式1。所以,你的程序要改成方式1。在方式1时,只有开中断允许标志位和接收到数据后,才会申请中断,单片机才会响应中断。
恩!这个查询方式:void UART::Uart_Putc(unsigned char c)
{
switch(CurUart)
{
case 0: ///串口0
while( !( (rUTRSTAT0) &(1 <<2) ) )///查询rUTRSTAT0状态
rUTXH0 = c
break
case 1:
break
case 2:
break
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)