单片机红外接收程序,中断0里的程序为什么一定要用静态全局变量,不加static就收不到信号?

2025-04-07 10:15:28
推荐回答(1个)
回答1:

静态的局部变量会自动初始化变量为0
而普通的局部变量的初始值是未知的
如果判断条件if(js>=33&&js<63) x=0; 没有执行

那么x的数值就是不确定的,下面的程序b[x]=js;x++;什么的数据都不确定,没法执行
你可以改成普通的局部变量,但在定义的时候给个初值试试