中断处理函数的循环有问题 |
看你下面是main()那么这段代码是中断处理程序,里面不要用for,也不要用delay() |
进入死循环了,要让他重新启动 |
xiaobendan001 发表于 2024-2-6 13:04 是的,要让它重新开始循环,不然会加很久 |
Pikachu233 发表于 2024-2-6 10:24 不是那样的,在你得到==20之后,要让他=0这样就从新开始了 |
Pikachu233 发表于 2024-2-6 10:24 中断可能进了两三次了,你主程序才运行完一轮,对时序要求严格的函数,是需要放在中断里面的,但是中断里面也不能放太多东西,不然主程序没得跑了,都跑中断服务函数了。另外就是延时函数能不用就不用 |
xiaobendan001 发表于 2024-2-5 18:29 我理解了,并且通过实验验证了,是因为那个num1的函数没写到中断里面中断程序运行的时时序和主程序的有可能会有冲突 |
上个帖子说了,你的num1在第一次等于20以后一直加知道65535之后才会再次出现==20的情况,所以减到59就需要等很久才能到58的 |