c51mcu 发表于 2024-11-29 09:58:11

串口通讯


       UART1初始化配置都设置正常,并且485接收状态,如果中断里面不进行 RI = 0清接收标志,这种情况下收到数据(其它设备发送过来的数据)会怎么样?会不会影响程序其它功能(会不会一直占中断,影响除UART1通讯外的其它功能)。

496649247 发表于 2024-11-29 10:01:54

必须清零。

c51mcu 发表于 2024-11-29 10:38:53

496649247 发表于 2024-11-29 10:01
必须清零。

如果不清零,串口不能正确接收数据,这种情况下,影响其它功能不,比如长期处于接收中断导致其它模块程序不能正常运行。

bkeuqoaq 发表于 2024-11-29 10:46:54

不停的中断,退出,中断,导致主循环处理很慢,正常下中断返回,执行一条指令又进入中断,如此循环

c51mcu 发表于 2024-11-29 11:01:42

bkeuqoaq 发表于 2024-11-29 10:46
不停的中断,退出,中断,导致主循环处理很慢,正常下中断返回,执行一条指令又进入中断,如此循环 ...

void UART1_int (void) interrupt 4
{
    if(RI)
    {
      RI = 0;
    }
}
如果把此中断函数彻底删除,是否还会导致不停的中断?

邮箱 发表于 2024-11-29 11:06:03

c51mcu 发表于 2024-11-29 11:01
void UART1_int (void) interrupt 4
{
    if(RI)


复位或跑飞了

soma 发表于 2024-11-29 11:15:22

硬件不会自动清零,只能手动清,没清如果软件那边可能卡死。

bkeuqoaq 发表于 2024-11-29 11:17:13

c51mcu 发表于 2024-11-29 11:01
void UART1_int (void) interrupt 4
{
    if(RI)


程序就乱了,各种异像都可能

DebugLab 发表于 2024-11-29 11:53:35

c51mcu 发表于 2024-11-29 11:01
void UART1_int (void) interrupt 4
{
    if(RI)


启用了中断但没有中断函数,中断向量位置就不知道是什么指令了,直接跑飞

DebugLab 发表于 2024-11-29 11:54:24

不清中断标志会反复进入中断
页: [1]
查看完整版本: 串口通讯