我正在为 LED 段上的数字编写代码,每五秒减少 1
我现在的实际代码是这个
FiveSecDelay+=1;
if (FiveSecDelay ==100)
{
count2--; //decrement count2
for (uint32_t x = 0; x < 4; x++) //split count to to individual digits
{
new_value[x] = count2 % 10;
count2 = count2 / 10;
}
for (uint32_t i = 0; i < 4; i++)
{
Segment_Write(Digit[i],new_value[i]); assign value to segments
}
FiveSecDelay =0;
}
我使用调度程序每毫秒调用一次函数,理论上这应该可以工作,因为我使用相同的技术为段分配值,发生的情况是我的起始值为 8,它应该得到 7, 6,5,4 依此类推直到 0,但由于某种原因,它从 8 变为 42 并停留在那里
我曾试图修复它,但没有完成。
任何帮助都会很棒
谢谢