趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。※サイト移転しました(tomono.eleho.net ⇒ tomono.tokyo)
RSS icon
  • ATmegaとのシリアル通信~AVRLibのtimerのテスト(その後)

    投稿日 2011年 1月 3日 コメントはありません

    しばらく前にAVRlibのテストをしていましたが、その際にPWMが動いていないようだ、ということを書きました。

    結局、端子の割り付けの差だったようで、
      // set the OC1x port pins to output
      // We need to do this so we can see and use the PWM signal
      // ** these settings are correct for most processors, but not for all
      sbi(DDRD, PD4);
      sbi(DDRD, PD5);

    の部分を、ATmega88のOC1xの端子配置に合わせて、
      // set the OC1x port pins to output
      // We need to do this so we can see and use the PWM signal
      // ** these settings are correct for most processors, but not for all
      sbi(DDRB, PB1);
      sbi(DDRB, PB2);
    に直してやると、あっけなく動作しました。
    (よく見ると、コメントに違うCPUもあるよ、って書いてありますね・・・)
    その際にいろいろと調べていたのですが、結局開発環境としてはArduinoへの乗り換えを検討しています。
    死蔵しているATmega88がいっぱいあるのでちょっともったいないのですが、趣味の世界では他の人が築き上げたものを使わない手はありません。貴重な時間は最終的なアプリケーションに費やした方が楽しいですし。(それがArduinoがウケている理由だと思うのです)
    で、調べてみると、Arduinoの世界では、ATmega168とかだと19200bpsでのシリアル通信が使われるようなので、XBeeの通信速度も19200bpsに変更しました。