前回、ATmega168 + FT232RLでシリアル通信するプログラムを紹介した。(http://d.hatena.ne.jp/yaneurao/20080628) 「FT232RLのところを見るとTXD,RXDがAVRのRXD,TXDに結線」されているのだが、これだけではフロー制御されない。フロー制御されないということはどんどんデータを送られるととりこぼしてしまうと言うことだ。 フロー制御を行ないたいなら、RTS,CTSも接続して「これ以上データを送らないでくれ」と言えるようにしておくべきなのだが、そんな結線をするとAVRのI/Oが減ってもったいないので、普通しない。 では、どうするかと言うと、AVR側では割り込みを使って受信して、割り込み内ではring bufferに格納していく。これが基本中の基本…だと思うのだが、あまり解説しているサイトがないのでサンプルコードを書いて解説をしてみ