单片机/MCUwilliam hill官网
登录
直播中
kmno4
12年用户
959经验值
私信
关注
[问答]
关于51单片机串口中断的问题
开启该帖子的消息推送
51单片机
串口中断
各位大佬好,我是新人
最近学51
单片机
有一个问题一直困惑着我,就是关于串口中断函数何时进入的问题,如下面代码
void Usart() interrupt 4
{
u8 receiveData;
receiveData=SBUF;
RI = 0;
SBUF=receiveData;
while(!
ti
);
TI=0;
}
[color=#336699 !important]复制代码
上面的串口中断函数应该是在RI或TI置一的时候进入,上面的中断函数初次进入是RI=1,但是运行到SBUF=receiveData的时候,此时TI应该置0,等待TI置1,那假如在这个程序中,TI在中断程序中变成1,那中断程序是直接运行到末尾还是重新从头运行,毕竟TI=1触发了中断,应该重头再次运行。
回帖
(1)
刘埃生
2023-10-8 14:50:02
只能说你这个代码不严谨,一般来说串口中断代码应该先判断是RI的还是TI触发的中断,然后分别进行接收或发送,处理完成后要清相应的中断标志,如果在中断中产生了新的中断,并且已经清除了中断标志,那退出中断后,不会再入这次新产生的中断了。
只能说你这个代码不严谨,一般来说串口中断代码应该先判断是RI的还是TI触发的中断,然后分别进行接收或发送,处理完成后要清相应的中断标志,如果在中断中产生了新的中断,并且已经清除了中断标志,那退出中断后,不会再入这次新产生的中断了。
举报
更多回帖
rotate(-90deg);
回复
相关问答
51单片机
串口中断
请问
51
单片机
串口中断
是怎么触发的?
2019-04-09
7134
求
51
单片机
串口中
继程序
2015-07-22
3919
请教大神,
51
单片机
串口中断
问题
2015-05-23
2558
51
单片机
的外部
中断
是如何使用的?
2021-10-27
1513
为什么
51
单片机
定时器0
中断
与
串口
使用会相冲突
2021-09-03
2303
51
单片机
串口
通信
2013-10-15
3073
如何对
51
单片机
的
串口
通信进行Proteus仿真?
2021-07-19
2667
如何用
串口中断
的方式将休眠的
单片机
唤醒呢
2021-12-14
3274
请问
51
单片机
内核的
中断
是怎么实现的?
2019-05-07
2146
如何用
串口中断
的方式将休眠的
单片机
唤醒?
2021-12-07
1414
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分