前提・実現したいこと
ArduinoMEGAでタイマレジスタを勉強中なのですがTOP値の計算をしてくれません。
タイマレジスタを使い16bitの演算をsetup関数内でさせているのですが、高速PWMな為か波形を出力してくれていません。実際はu_TOPの値が0.498になるはずなのですが、0.000になってしまって計算することができません。計算結果を入れてやると動作します。
該当のソースコード(一部)
Arduino
1setup(){ 2float u_TOP=0; 3 TCCR1A = 0b10101011; 4 TCCR1B = 0b00011001; 5 //コンペアマッチでLOW,高速PWM(TOP値:OCR1A),分周なし 6 OCR1A = 32653//TOP値 7 u_TOP = OCR1A/65535; //MAX値とTOP値のゲイン 8}
試したこと
u_TOPに直接計算結果を代入→波形出力される。
Serial.begin()を削除
loop関数内の処理を全て削除
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。