久々にCDIをいじくりました。
基板化したのとATmega328PBというATmega328Pの後継マイコンを試す、およびUSB-シリアル変換を載せてType-Cコネクタを装備するのが目的だったのですが・・

設定ツールがなぜかダウンしてしまう現象に見舞われました。以前のArduino NANO版でもダウンします。
正常に動作していた頃からの変更点というと、Windowsを10から11に上げた事が絡んでるのかなぁ?

症状
設定ツールとCDIをUSBで接続し、[UP]や[DOWN]等のボタンを押すとツールが閉じてしまいます。
このプログラムはVisualC#で書いておりデバッガーで調べると、シリアルポート(USB-Serial変換IC経由)を読む動作をSystem.IO.Ports.SerialPortのReadLine()で実行する時に変な例外が発生していました。
色々試すとReadLine()の直前に1mSの待ち時間を入れると正常動作するんですよね。
何か微妙なタイミングが絡んでいそうです。
修正
とりあえずは1mS待ちの対策でもいいのですが後々不安ですよね。AIさんに尋ねるとReadLine()命令はこういうタイミングの問題に遭いがちという事で、ReadExisting()を使って取り込んだデータをバッファに溜めながら処理していく方法をお勧めされました(AIかしこい!)。
仰せの通りに変更したところ問題なく動作しています。
やっぱりWindows11になった時に微妙にタイミングが変ったりしたのかなぁ?
改訂版公開
という事で、現在上手く動いているのを公開します。
改訂版の証としてタイトルバーにバージョン名”Ver.1.0.1.0″を表示しました。

