ARM弄り中

適度にプログラム書いてみたりしている。
IOポートのレジスタが書き込み専用×2と読み出し専用×1のセットになっていて、

Set
書き込み専用、1を書いたところがセットされる
Clear
書き込み専用、1を書いたところがクリアされる
Status
読み出し専用、現在のレジスタの値を出力

となっているのに戸惑ったが、冷静に考えてみるとビット指向な処理をやるんだったら、読み書きできるレジスタ一個よりこっちの方がやりやすいと思う。
あるビットを立てたい場合、従来だと、読み出し→ビットマスクでOR演算→書き込みと必要なのが、ビットマスクを書き込みのみでできる。


フラッシュを消せたのでポケモンショック状態からは脱出。
そもそもLEDが3個に分かれていること前提のサンプルプログラムをフルカラーLEDで動かしたのがまずかった。


追記
レジスタが上のような構成になってるのはバスの都合?
他のペリフェラルも似たような感じになってる。