串口通讯
UART1初始化配置都设置正常,并且485接收状态,如果中断里面不进行 RI = 0清接收标志,这种情况下收到数据(其它设备发送过来的数据)会怎么样?会不会影响程序其它功能(会不会一直占中断,影响除UART1通讯外的其它功能)。
必须清零。 496649247 发表于 2024-11-29 10:01
必须清零。
如果不清零,串口不能正确接收数据,这种情况下,影响其它功能不,比如长期处于接收中断导致其它模块程序不能正常运行。 不停的中断,退出,中断,导致主循环处理很慢,正常下中断返回,执行一条指令又进入中断,如此循环 bkeuqoaq 发表于 2024-11-29 10:46
不停的中断,退出,中断,导致主循环处理很慢,正常下中断返回,执行一条指令又进入中断,如此循环 ...
void UART1_int (void) interrupt 4
{
if(RI)
{
RI = 0;
}
}
如果把此中断函数彻底删除,是否还会导致不停的中断? c51mcu 发表于 2024-11-29 11:01
void UART1_int (void) interrupt 4
{
if(RI)
复位或跑飞了 硬件不会自动清零,只能手动清,没清如果软件那边可能卡死。 c51mcu 发表于 2024-11-29 11:01
void UART1_int (void) interrupt 4
{
if(RI)
程序就乱了,各种异像都可能 c51mcu 发表于 2024-11-29 11:01
void UART1_int (void) interrupt 4
{
if(RI)
启用了中断但没有中断函数,中断向量位置就不知道是什么指令了,直接跑飞 不清中断标志会反复进入中断
页:
[1]