串口接收中断进不去,如何解决

串口接收中断进不去,如何解决,第1张

串口接皮槐收中断进不去,如何解决?

是单片机的串口接收中断吗?要设置中断标志位呀燃行友,串口接收方式也要对呀,带孝设置波特率

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12342623.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存