概要
前回はピンについてでした。今回はレジスタのページを読んでみたいと思います。
5.特殊機能レジスタSFR
CH559は8ビットチップですので、レジスタも基本は8ビットで0x80以降がSFRに割り当てられています。ざっくりグループ単位で解説します。詳細は上記のページを見てください。
システム設定レジスタ
チップIDやセーフモードに入るレジスタなど、システム全体に関連するレジスタ群です。
クロックとスリープ、電源制御レジスタ
こちらも読んだ通りのレジスタ群です。特にクロックの設定が重要になります。
割り込み制御レジスタ
GPIO割り込みや、優先度の設定ができそうですね。
フラッシュROMレジスタ
フラッシュ周りの設定レジスタです。
ポート設定レジスタ
プルアップなどArduinoでのpinMode()関数相当が設定するレジスタ群です。
Timer/Counter0, 1, 2, 3レジスタ
タイマーとカウンタはレジスタのアドレスが離れていますが、同じような値のほかT3はDMAまわりの追加設定などがありました。
UART0, 1レジスタ
シンプルなUART0と、フロー制御系の設定があるUART1があります。
PWM1, PWM2レジスタ
一般的なPWM系の設定が並んでいました。
SPI0, 1レジスタ
細かい設定のあるSPI0と、シンプルSPI1がありました。
ADCレジスタ
DMA設定があるADC設定がありました。
USBレジスタ
USB関連のレジスタが大量に並んでいます。
USB xSFRレジスタ
通常のUSBレジスタとの違いはまだわかりません。ただし2バイトのレジスタのようです。
LEDコントロールカードxSFRレジスタ
こちらが一番わからない項目です。LEDがなにか自体がわかりません。翻訳英語版のデータシートにはありませんでしたが、本家の中国語バージョンには詳細がありました。どうやら16章までしか訳しておらず、17章のLEDと18章のパラメータ、19章の修正履歴が未翻訳だったみたいです。
汎用8051レジスタ
ざっくり解説してありますが、8051を知らない人には理解できないと思います。
この辺が必要かな。ただC言語で開発する限りあまり必要ない気もします。
特殊レジスタ
チップIDやセーフモードに関する記述があります。一部のレジスタはセーフモードに入らないと設定できないので、セーフモードへの入り方は重要です。
まとめ
このページだけみても、実際にはよくわかりません。クロックや割り込みなどは個別のページがありますので、そちらで細かい設定方法が記載されています。このページはある程度把握できたあとで、一覧として確認するためのものだと思われます。
コメント