PICでUSARTの送信だけやってみた
MIDIを使うにあたって色々と便利なUSART機能、
そうやら8ビット、9ビットのデータを自動的にシリアル通信してくれるみたいです。
よく分かりませんけど、とりあえずネットを参考にやってみました。(本はあまり使えない
bsf RCSTA,SPEN
BSF STATUS,RP0
CLRF ADCON1
CLRF TRISA
CLRF TRISB
CLRF TRISC
CLRF TRISD
CLRF TRISE
MOVLW B'00100100'
MOVWF TXSTA
MOVLW D'19'
MOVWF SPBRG
BCF STATUS,RP0
セッティングはこんな感じです。
思いっきりアセンブラ。
最初の bsf RCSTA,SPEN を書くとシリアル通信を使えるようになるみたいです。
ここを書き忘れると、TXピンが永遠にHighになってつまらないことになります。
受信の設定はしていませんがうまくいくのか・・・!?
送るデータは2進数で「01010101」です。
これを送り続ければMIDIの速度の半分の周波数が出てくることになりますね。
ではスイッチオン!
15.57KHz・・・
倍にすると31.14KHz。
MIDIは31.25Kbpsだから大体合ってますね!
ちなみにスピーカーが付いてますけど、高い周波数が出ているので耳鳴りっぽいのが来ます。
なんだか頭痛と吐き気が・・・
付けなければよかった...orz
デューティー比も見れる秋月テスター、これはハイテクですね。
大体50%です。
ちゃんと送信されたことが分かりました。
さて、明日はMIDIデータを送ってみるか。