是单片机的串口接收中断吗?要设置中断标志位呀燃行友,串口接收方式也要对呀,带孝设置波特率。
SCON=0X50
EA=1
ES=1
TMOD=0X20
TH1=0xfd
TL1=0xfd
TR1=1
还要写串口中断程序,这样,当串口接收到数据就会进入中断程序了。
发送是主动的,即使不中断也照样可以发送的。但不能引起中断,要接收数据就不知道了,除非循环等待查念数姿询。接收不能中断,原因一毕脊可能是没有开中断。二是,虽然开中断了,但中断允许位没设置对。最后一个原因,仔绝就是没写中断程序,要么写中断程序了,但中断号不对。应该是
void uart_int() interrupt 4
中断号是4。检查一下这三个方面。
1.串口通信设置是否正确(SCON,EA,波特率,定时器初值,重装值,启动定时器)2.中岁绝断函数(如果汇编的话,串口中断入口地址应指定为23h),如果C的话,加上中断棚棚函数乎和姿的关键字和串口中断对应编号
3.进入串口接收中断后,别忘记将RI=0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)