5秒ごとに1ずつ減少するLEDセグメントの数値のコードを書いています
現時点での私の実際のコードはこれです
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;
}
スケジュールを使用してミリ秒ごとに関数を呼び出すim。理論的には、同じ手法を使用してセグメントに値を割り当てるので、これは機能するはずです。開始値が8で、7になるはずです。 6、5、4などが0まで続きますが、何らかの理由で8から42になり、そこにとどまります。
私はそれを修正しようとしましたが、不足しています。
どんな助けでも素晴らしいでしょう
ありがとうございました