目次 #contents(); *メニュー [#wf322d66] //個人ページの下にページを作ることもできます。 -[[ファイル置き場>./upload]] -[[コメントページ>./comments]] -[[Rio Unite 130 分解>分解レポート#n13340d3]] -過去の日誌 --[[./2008]] --[[./2009]] *komaへのコメント [#o41c145a] #pcomment(./comments,reply); *2010-04-28-A/D Converter [#m5974c0a] アナログ入力は、P0[0]-P0[7]、P1[0]-P1[3]、P7[0]-P7[7]で、20ピンが使用できるようだ。 分解能は最大10bitで、ソフトウェアかタイマでトリガーできる。 サンプリング周波数は、分解能8bit、クロック10MHz使用時で350kspsくらい出るらしい。 かなり正確な数字が出てるので使いやすそうだ。 8bitの''A/D Control Register''が3つあり、これで初期設定を行う。 ソフトウェアでサンプリングトリガを与えるときは、''A/D conversion start bit(adst)''を"1"にするだけで良い。 adst = 1; 変換終了すると''adst=0''に変化する。 *2010-04-25-UART通信 [#c07e8aea] ありがたいことに、[[R8C/2Dマイコン開発セット:http://akizukidenshi.com/catalog/g/gK-03018/]]にはあらかじめシリアル通信用のインターフェースIC[[ADM3202ARN:http://akizukidenshi.com/catalog/g/gI-01279/]]が用意されていて、D-SUBコネクタとマイコンの間にかませてあるので、ユーザーは、特に気にせずにマイコンからデータを送受信できるようだ。至れり尽くせりだな。。 まずはサンプルソースを使用してUART通信成功! *2010-04-24-タイマ割り込みでLED点灯 [#g5723342] 前回のタイマを使用したPWM波形は、TimerRC専用の出力ピンを使用しているため、それを別のピンに割り当てることはできない。 なので、今度はタイマ割り込みを発生させてLEDに接続されているピンPWM波形を発生させたい。 TimerRCの割り込み制御レジスタはなぜか3つもあるorz ,レジスタ名,機能 ,TRCSR0,タイマRC割り込みのインプットキャプチャ/アウトプットコンペアの機能切り替え ,TRCIER,タイマRC割り込みを許可するかどうかを決めるレジスタ ,TRCIC,タイマRC割り込みのレベルを決定するレジスタ R8Cには割り込みレベル(Processor Interrupt Priority Level: IPL)という値がある。 タイマを含めた、あらゆる割り込み処理に対してレベルを決めるレジスタが用意されていて、 割り込みのレベル>IPL を満たさないものは割り込み処理が実行されない。 IPLは、例えば以下の処理を実行すると変更できる。 //IPLを3に変更 asm("LDIPL #3") ; 割り込み時に実行される関数定義については、''#pragma interrupt'' によって定義する。関数名は任意。 (vect=○○)というのは、 ''割り込みベクタ番号'' を与えている。すべての割り込み処理に対して一意の値があり、これによって何の割り込み処理のための関数であるかを認識させるっぽい。 ちなみに、TimerRCのSoftware Interrupt Numberは ''7'' 。 #pragma interrupt _timer_rc(vect=7) void _timer_rc(void); ▼ソース #ref(./upload/100423timer_rc.c) *2010-04-23-サンプルコード [#ke6b18f5] とりあえずリンク [[R8C/2Dシリーズのサンプルコード集:http://japan.renesas.com/products/mpumcu/r8c/r8c2x/r8c2d/Application_Notes.jsp?event=resetFunctions&logo=0&productName=R8C%2F2D+%C3%A3%C2%82%C2%B0%C3%A3%C2%83%C2%AB%C3%A3%C2%83%C2%BC%C3%A3%C2%83%C2%97®ion=jp&hiddenFunctionsKey=41&hiddenProductsId=2125&sort=&pageNo=1&redirectEvent=resetFunctions&documentUrl=http%3A%2F%2Fjapan.renesas.com%2Fproducts%2Fmpumcu%2Fr8c%2Fr8c2x%2Fr8c2d%2FApplication_Notes.jsp&x=18&y=11]] *2010-04-23-感想とか [#a65ffe58] とりあえず、R8Cのマニュアルはとっても分かりにくいと言うことが分かった! 網羅的に記述してあるけど、とりあえず動かすにはどうすればいいのかっていうのが全然理解できない。 このままではLEDをチカチカさせることもままならない!! *2010-04-22-タイマを使用する_02 [#w297d5da] PWM波形が出た!!っと言ってもほとんどサンプル通りですが。。 ''msttrc''というレジスタがあることを完全に見落としていたため、 かなり足止めを食らいました。 ▼ソース #ref(./upload/100421timer_rc.c) ▼PWM波形 #ref(./upload/2010-04-23-pwmwave.jpg,,,50%) *2010-04-22-タイマを使用する_01 [#w297d5da] R8Cでタイマをセットアップするまで、面倒な設定が多すぎるorz タイマのカウント用CLKやPWMモードやら、柔軟な設計ができるのはいいけど、 いちいち設定すべきレジスタが代わるのがめんどくさい。 レジスタの名前も覚えにくい。。 *2010-04-21-HEW新規ワークスペース生成 [#e87e6851] HEW,High-performance Embedded Workshopは開発環境の名前。 プロジェクト生成後、マイコンのSFR(Special Function Resistor)を制御しやすくするため、ヘッダファイルを別途ディレクトリにコピーする必要がある。以下の中にある ''sfr_r82d.h'' というファイル。 C:\Program Files\Renesas\Hew\System\Pg\Renesas\M16C\V5_42_0\Generate\sfr\R8C\R8C2C_2D このヘッダファイルの一番上の行に、なぜか日付が書いてあり、これがあるとコンパイルできないので消す。 *2010-04-21-R8C/2Dマイコン開発セット [#z683d27e] [[kanou]]さんに相談して、これを買ってみました。 http://akizukidenshi.com/catalog/g/gK-03018/ 早速LCDモジュールの半田付けをミスりましたorz IP:133.28.96.26 TIME:"2010-04-28 (水) 12:52:09" REFERER:"http://merl.ec.t.kanazawa-u.ac.jp/micon-bu/index.php" USER_AGENT:"Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)"