lkc8210 发表于 2024-1-2 15:53 确定了,就是延时这里有问题,程序逻辑没有问题,出问题的是赋的初值,3000只有大约1mS左右,而不是我想的3秒,但我一直当是3秒,,学艺不精害人, 再次感谢大佬, |
我这样写,while(--HVDTcnt); 它应该延时才对,好像也没延时, 所以就改成这样了 while(--HVDTcnt) { HV_OUT = 0; //输出低 } 这 样,好像就是一下子就出去了,问题应该就是出在这儿,明天改成delay1ms()再试 |
Lthrwy 发表于 2024-1-2 13:46 应为那断 while(--HVDTcnt) { HV_OUT = 0; //输出低 } 没加延时 所以几十毫秒后就会跳出循环 在循环里加个delay1ms()延时就可以了 |
lkc8210 发表于 2024-1-2 10:55 感谢大佬回复,中断是打开了的,在主程序里面打开的,现在上传的是修改后的,可以有反应了,但是时间很短,但其实程序里写了如果P55低电平,P32就输出低电平3秒时间,就是没找到它为什么不能延时3秒的原因 |
你的接收处理代码在中断里运行 但又不开启中断 当然没反应 ![]() ![]() |