1
私は時間を保持しているリアルタイムクロックを持っており、10個のPWM出力を1時間ごとに変更したいと考えています。アイデアは、ピン1が0%、ピン2が25%、ピン10が100%であることを意味するPWM出力をずらすことです。 1時間後にピン1 = 100%、ピン2 = 0%、ピン3 = 25%、ピン4 = 35%となるように、デューティサイクルを変更してマイクロのピンをループさせようとしています。デューティサイクルが毎時変化するCのマイクロコントローラ上のループスルー
ピン1-10はすべて同じデューティサイクルで終わるか、ピン1-10はデューティサイクルを増やして終わるが、ある時間ごとに何らかの値で増分することはできないように、ロジックを台無しにしているようだ。すべてのヘルプは:)
私が使用しているコード、
int dutyPWM[10] = {0,26,52,78,104,130,156,182,208,214};
if(Hour > 1+hour)
{
for(int pinnumber = 1; pinnumber < 11; pinnumber++)
{
for(int n=0, n <= 10; n++)
{
PWM_Write(pinnumber, n);
}
}
}
私は毎時間10 PWM出力を変更したいと思います。したがって、ネストされたループが多すぎます。あなたのコードは完全ではありませんので、読者が推測しているか、「あなたのコードを書き留めてください」というのですか? – datafiddler
'Serial.println'文でデバッグして、何が起きているのか調べてみましょう。 –
Serial.print(pinnumber、DEC)を追加しました。 Serial.print(duty [n]);私は義務を果たしました[10] = [0,24,55,65,85,95,110,135,145,215] – Jiggly