概要
前回はシステムクロックと割り込みを訳しました。今回はI/OとXBUS、タイマになります。
I/Oポート
上記に日本語化したドキュメントがあります。CH559は比較的GPIOが多いので、いろいろな用途に使えそうですね。
10.1 GPIO概要
ピン数はいろいろありますが、特定の機能を利用しようとすると用途別に利用できるピンが指定されています。その用途で利用しない場合には汎用ピンとして利用できるようです。
10.2 GPIOレジスタ
いろいろなレジスタがありますが、比較的一般的な構造のようです。今後実際にピンを利用するときの初期化時に中身を確認していきたいと思います。CH551/2用であればArduino開発環境があるのでpinMode()実装も参考になると思います。
おっ、今見たらCH559もサポートに追加されていますね。今度確認してみたいと思います。
10.3 P4ポート
出力専用ポートなので、ちょっと別で記述されていますね。
10.4 GPIOマルチプレックスとマッピング
一部だけマルチプレックスやマッピング機能がありますが、それほど多くはありません。SCK_のようにアンダーバーがついている機能がこれにあたります。標準的にはアンダーバー無しの記述があるピンを利用するのですが、アンダーバー付きの他のピンにも割り当てることが可能です。
11.xBUS外部バス
UARTを含む拡張バス用の設定です。UARTなどの個別のページを見たほうが良さそうです。
12. タイマ
非常に大きなページになります。タイマの機能を利用してPWMも実装しているため、いろいろ記述が多いです。がんばればDACにも使えると書いてありました。
12.1 Timer0/1
16ビットタイマ/カウンタで比較的自由に使えそうです。
12.2 Timer2
16ビットのオートリロード対応のタイマ/カウンタですが、UART0のボーレート発生器として利用することが多いと思います。
12.3 Timer3
通常のタイマ以外に、DMAやPWM、キャプチャ用途にも利用できます。
12.4 PWM機能
8ビットPWM(1/2)が2つと、Timer3を利用した16ビットPWM(3)の合計3つのPWMが使えます。
12.5 タイマ機能
タイマとして利用するときの細かい設定方法が書いてありました。
まとめ
やっとなんとなくの全体像が見えてきました。ざざっと翻訳してから全体の修正をするのと、実際に利用しながら動作確認をするのをそろそろ準備してきたいと思います。
コメント