|
Crispy CoronのXBee(UART)を使っての通信がうまくいかないとのことですが、
まず考えられる可能性が二つあります。
一つはCrispy CoronのUARTボーレート設定とXBeeのボーレート設定が合っていない場合です。
XBeeのデフォルトは9600bpsなので、初期状態のままご使用の場合はCrispy Coron側も9600bps
に設定してください(XBeeのボーレート設定を変更している場合は、VC++もそれに合わせて変更してください)
二つ目は、これも上記と関係しているのですがXBee及びCrispy Coronのボーレートが遅い可能性です。
(Windows(VC++)が掃き出すコマンドの送信間隔に、XBee側が処理しきれていなくデータの取りこぼしをしていることがあります)
その都度の通信環境にもよるのですが、RCサーボやAD値取得などを連続で送信する場合、115200bpsくらいにXBeeとVC++共に速度を上げた方が取りこぼしが減ります。
(それでも、速度に限界があるので、取りこぼしが残る場合はVC++側の送信間隔を狭める必要があります)
>誤ってDFUモードでないときにコロンに書き込んでしまうとブルースクリーン後再起動しsrc内のmainプログラムが消去されているのですがこれは正常なのでしょうか。
通常では、DFUモードになっていないCoronに対しては書き込みは行えず下記のメッセージが表示されます。
Coron in the DFU mode is not connected!
Please connect PC with Coron cabling USB while pushing SW_USER.
これは、プログラムの書き込みの前にPCに接続されているUSB機器の中でDFUモードとして認識している
Coronを探して、存在が見つかった時にだけ書き込みを開始するようにしている為です。
考えられることとしては、DFUモードではないCoron(USB CDCかUSBのプログラムが何も書き込まれていない状態)のドライバーソフトが何かしらの原因によって、DFUのドライバーで認識してしまっている可能性があります。
大変、お手数なのですがDFUモードになっていないCoronがデバイスマネージャ上でどのように認識されているかをご確認いただけますでしょうか?
以上、宜しくお願い致します。 |