我正在为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并停留在该位置
我曾尝试修复它,但很快就解决了。
最佳答案
您可以在以下行中更改count2的值:
ojit_pre
我从您描述的内容中得到的印象是count2应该是从8到7再到...到0。