Arduinoのシリアル待ち時間の問題を修正する
September 16, 2022
0 Comments
[Paul]は、興味深いArduinoの待ち時間の問題について教えて、彼が釘を下ろして修正しました。
[ミシュ]は今年初めに紹介された彼のレインボードゥーノプロジェクトの管理に関していくつかの問題を抱えていたようです、そして彼はデータの送受信時に彼がそのような大きな遅れを経験していた理由を全く理解することができないようです。
答えについてオンラインで検索すると、Michuが処理を使用していたので、ペアは一連のテストを開発してJavaによってどのようなレイテンシが導入されていたかを確認しました。 2009年のArduino UnoとArduinoを10代の2.0に合わせてピットして、テストは、シリアル通信に使用するRTCXライブラリを介してJavaによって促進されたネイティブデータ転送の待ち時間を測定しました。
結果はかなり見事でした。両方のarduinosは長いショットでティテージの後ろに遅れている間、Javaの下のレイテンシ値は常に最低20msでした – 何かが追加されませんでした。 [Michu] RXTXコードでポークされ、シリアルライブラリにプログラムされたミステリー20ms遅延が見つかりました。それは彼には意味がないので、彼は2msに遅延を変更し、128バイト未満のデータを転送するときにパフォーマンスが大幅に上昇しました。
より多くのデータ(> 1KB)が転送されているとき、ペアの修正は待ち時間に影響を与えないようですが、小さいデータのチャンクを操作するときに違いの世界になります。
開示のために、[Paul’s]会社が十代のMCUを生産することに注意すべきである。