====== H8/36x4 ====== ===== 簡単に紹介 ===== ルネサステクノロジのマイコンです。H8 Tinyシリーズで超エントリーモデルです。\\ 機能は一通り内蔵されており、ちょっとした工作等で重宝しました。\\ ただ、凝ったことをしようとするとメモリの少なさや微妙に足りない機能・I/Oが壁となります。\\ ある程度はコーディングや回路の工夫でどうにかできますが、少しお金を出してH8/3069やSH2/Tinyあたりを使うのが正解でしょう。\\ ボードは[[http://akizukidenshi.com/|秋月電子]]で売っている**AKI-H8/3694F(QFP)**が最安(\1,600)だと思います。\\ ===== Tips ===== サンプルコードなど。わかる人にはわかるはず。 ==== A/D変換(8bit) ==== __uint8 ad_get(__uchar channel) { ADCSR = channel & 0x07; bset(ADCSR, 5); // ADST=1 while ( !btst(ADCSR, 7) ) ; // ADF == 0 bclr(ADCSR, 7); // ADF=0 return *((&ADDRA) + (channel & 0x03)) >> 8; } ==== KPIT ==== [[http://www.kpitgnutools.com/index-ja.php|KPIT]]のgccを使うのはやめた方がいいです。\\ 最新版では修正されたかもしれませんがgcc-4.1/4.2についてバイトアクセスすべき箇所でワードアクセスするようなコードを吐きます。KPITが独自に当てているパッチの質に問題があるようにしか思えないので、少々手間がかかりますが[[http://gcc.gnu.org/|GCC本家]]からソースコードをダウンロードし自前でビルドすることを強くおすすめします。\\ [[http://www.besttechnology.co.jp/|BestTechnology]]のGCC Developer LiteでもKPITのgccを使用していますので十分に気をつけてください。\\ ==== GCC vs HEW ==== 最適化されたコードに大きな差はありません。自由度の高さ(メモリ配置、コーディング等)はgccに軍配が上がります。個人的にはgccでの開発をおすすめします。IDEに関してもEclipseを使えばビルドからデバッグが出来るのでHEWにこだわる理由はないと思います。\\ ただ、ビット命令に関してはHEWの方が積極的に使用するのでその分で差が出るかもしれないです。\\ なお、gccでは-fomit-frame-pointerオプションを使うことでコードが小さくなります。HEWで同様のオプションがあるのかは知りません。 ===== 関連リンク ===== * [[http://japan.renesas.com/|ルネサス テクノロジ]] * [[http://japan.renesas.com/fmwk.jsp?cnt=h83694_h83694n_root.jsp&fp=/products/mpumcu/h8_family/h8300h_tiny_series/h83694_h83694n_group/|H8/3694シリーズ]] * [[http://japan.renesas.com/fmwk.jsp?cnt=h83664_h83664n_root.jsp&fp=/products/mpumcu/h8_family/h8300h_tiny_series/h83664_h83664n_group/|H8/3664シリーズ]] {{tag>Hobby}}