---自作MPGワイヤレス化 (13)---

 どこでデータが欠落するのか、いろいろ調べようと思って
 ます。そのために、LCDデバックモニターを作って、みようと思
 います。部品を注文しましたので、届くのをまちます。
 デバッグモニターの制作と平行して、データー受信を
 リングバッファーを使ったプログラムに変更しみようと
 思います。
 当初は、リングバッファーを使ったプログラムにする予定で
 したが、リングバッファーの理解がいまいちで、コーデング
 できませんでした。その一番の原因は、構造体とポインタの
 理解ができてないことでした。
 ネットには、リングバッファーを使ったプログラムが沢山ある
 のですが、そのほとんどが、構造体とポインタという、私が
 一番苦手な手法を使ってありました。
 いろいろあさっていると、構造体とポンタを使わないプログラム
 を使って解説しているHPを見つけました。
 Elementary data structures - Queue
 このHPでやっと、リングバッファーの仕組みが理解で
 きました。
 また、このプログラムを組むにあたって、割り算のあまりを
 求める、計算をしなければなりません。この計算に、結構
 な時間がかかります。一般的には、計算の時間を短縮す
 るために2のN乗の数を使うそうです。2のN乗の数を使う
 ことで、割り算のあまりを出す計算を、X & (N-1)とする
 ことで可能にできるそうです。これで、飛躍的に計算を早く
 できると書いてあるHPにも出会ました。この2のN乗の大き
 さをバッファーの大きさにするそうで、計算時間の短縮がで
 きます。
 この & を使った計算方法が、
 %(剰余)の最適化について
 というHPに分かり易く書いてありました。
 ということで、リングバッファーを使ったプログラムを
 コーデングしていきます。