ぷらこのきろく

メモとかテストとか備忘録とか

ASOOVU USBで遊んでみる(3)

その(3):データシートを見る

とりあえず今回は、LEDを光らせたり消したりすることを考える。

ポートの確認

ASOOVU USBのマニュアルの裏側に回路図が書いてある。(サイトからダウンロードもできる)
で、LEDの部分を見てみる。
f:id:prizeout:20171217121741p:plain
LED(青)は25番ポートとつながっているらしい。

データシートの確認

公式サイトからデータシートをダウンロードしてくる。
http://ww1.microchip.com/downloads/en/DeviceDoc/39632e.pdf
英語とか、426ページとか、中学以降英語は落ちこぼれで文章読んだりするのも苦手な僕は結構うんざりなんだけど*1
がんばって手抜き読みをしてみる。きっと図表が書いてあるにちがいない。。
可能な限り図表だけで読んでみよう。。

ピン配置図

pdfの4ページにピン配置図があった。
f:id:prizeout:20171217130346p:plain
25番ピンはRB4というらしい。

ブロック図

12ページにブロック図があった。
f:id:prizeout:20171217130942p:plain
RB4はPORTBにつながっているらしい。

ポート回路図

というわけで10章。IO Portの章。回路図を見る。
f:id:prizeout:20171217150310p:plain
三角形は3ステートバッファというものだと思う。論理回路:3ステートバッファ(1) | 東芝 半導体&ストレージ製品
制御信号に○がついてるからきっとNOTで、TRISラッチが0のときにDATAラッチからIOピンに出力があるらしい。
(ラッチはなんか値を保存しておくものだった気がする。なんか値を書き込んだらそのまま保持されるんだろう。)
ということでTABLE 10-3を見ると
f:id:prizeout:20171217152722p:plain
RB4はLATB4から読み込めるらしい。

初期化例

PORTBの初期化例が書いてあった。アセンブラなんか読めないが、この程度ならなんとなく理解。
f:id:prizeout:20171217153053p:plain
とりあえず理解に必要なのは上下の赤枠の中。真ん中のはコンフィグレーションビットの設定でしてあるからいらない。と判断。
上の部分はPORTBとLATBの0クリア。下の部分はTRISBに0xCFを代入。0xCFは2進法で書くと11001111だから、一番右を0番目、一番左を7番目として、4,5番目が0となっている。
コメントに、「RB4とRB5を出力に」とあるので、TRISBの該当ビットを0にすると出力なんだろう。

というわけで、やっとコードが書ける。
続く。

*1:だったら日本語訳見ろっていうんだけど、それはそれで敗北感が・・・