「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



ふと思いついて、久しぶりにarduino-IDEを立ち上げて
みる。
シリアル通信の通信速度って、微妙な速度を選ぶこと
出来たんだったっけな?って思って。

MIDIの情報を眺めていて、ふと、シリアル上を
流れるデータを取り出してみてみたいな、と思って
いるんですが、その実験台にarduinoを使ってしまおうか
と思っていたんだけれど…

arduino-IDEの通信速度って、一般に使える通信速度の
決め打ちなんだなぁ。当たり前といえば当たり前なん
だけど。

でも、今やりたいのはMIDIと同じ31.25khzなんだよ
なぁ。
ちょっとした回路だけ組んでおいて、あとはarduinoの
UARTで受けて、それをシリアルモニターでそのまま
PCに転送させようかとか思っているんだけどな…

arduino-IDEのお手軽環境上ではダメみたい。

対応策としては、大きくは二通りかな。

(1)UARTを2個以上登載しているPICかAVR
   を使って、マイコン上で通信速度の変換を
   行い(例:31.25khz→115.2khz)、PC側は
   適当なソフトで受け取る

(2)PC上で31.5Khzがモニターできる専用ソフトを組む

(3)UARTは5%前後の速度エラーは吸収できる
   ので、複数のマイコンを直列に繋いで、マイコン
   1個につき数%程度ずつ送り出し速度を速くして
   いって、最終的に38.4khz程度まで速度を上げる

まぁ、(3)はふざけすぎだとしても(1)も(2)も
イマイチだな。

PCで専用プログラム書くのもイマイチだ。

ハードウェアUSARTを2個以上内蔵していて
DIPタイプで手に入りやすいといえば、マルツで
売っているMEGA162。
このためだけに約1000円のAVR買うのもなぁ…

UART1個だけのAVR使って、受信側は
ハードウェアUART使うにしても、
送り出し側はソフトウエアUARTで騙すかな?

ポーリングでUARTのコード書くのが面倒だけど…



コメント ( 2 )