CH559のデータシートを読んで見る+日本語化 その3 レジスタ

概要

前回はピンについてでした。今回はレジスタのページを読んでみたいと思います。

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やセーフモードに関する記述があります。一部のレジスタはセーフモードに入らないと設定できないので、セーフモードへの入り方は重要です。

まとめ

このページだけみても、実際にはよくわかりません。クロックや割り込みなどは個別のページがありますので、そちらで細かい設定方法が記載されています。このページはある程度把握できたあとで、一覧として確認するためのものだと思われます。

コメント

タイトルとURLをコピーしました