标题: 单片机定时器中断和串口中断的问题! [打印本页]

作者: lhxtb    时间: 2017-1-4 12:02
标题: 单片机定时器中断和串口中断的问题!
51单片机电子钟程序中,我想用串口通讯发送PC时间给单片机受时,用串口中断接收数据,如2017-01-014 WEN 10:00:00,我用串口助手把上述数据发过去,得到的数据有长有短,无法正确受时,我试了一下,发现:如果定时器中断(读取DS1302数据并显示在1602上)或串口中断(接受受时并写在DS1302内)内的语句多的,就会出现这种情况, 请问如何解决!

作者: ahshmj    时间: 2017-1-4 18:59
中断里面尽量少放内容,否则如果中断内的程序运行时又产生中断就会混乱。
作者: admin    时间: 2017-1-5 01:10
把你的程序发上来看看!!
作者: 114.114.114.114    时间: 2017-1-5 08:52
程序问题把
作者: 六月六月    时间: 2018-9-22 21:43
在51单片机默认的中断优先级里串口中断的优先级在定时器的后面,在你执行串口中断时,你的T0,T1定时器可能会将串口中断打断,使串口中断时数据接收受到影响,数据就会丢失,或者产生乱码。解决方法:可以试一下将串口中断的优先级调高。具体程序修正:添加PS=1;语句在你的定时器初始化里。
作者: sxhwdz    时间: 2018-9-23 08:22
不是非要在中断里面完成的任务尽量不要放在中断内,有些可以在中断内设置标志,在中断外处理




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1