ホームページに戻るAVRで処理したデータ(アナログ入力等)をパソコン取,り込んだり、逆に制御指令等をAVRにデータとして送り込みたくなることがあります。そこで、パソコンのRS−232Cを使った通信基本についてchanさんのホームページ等を参考にやってみました。USARTというシリアル通信機能を利用しました。無・偶数・奇数インターフェイス今回非同期動作としたので、RXD(2ピン)−>TD、TXD(3ピン)−>RDに接続する。信号のレベル変換はchanさんの簡易方式です。ケーブルは、家にあった携帯電話用のケーブルを流用し、下の回路図のようなケーブル(PC側9ピン)を作成しました。good”の文字列を送信、およびキーボードから入力した文字列を受けLCDに表示させました。too’と返事が帰ってくるように組んでみました。)これで一応、基本的な通信法が理解できました。続いてバイナリ通信をやってみました。内容はAVRでAD変換したデータをPCのエクセルに転送し数値処理・グラフ化させます。∴最大14kHz程度(atmega8の場合SRAMは1024バイトのなで、1データで2バイト使用すると500データ程度しか保存できない)今回は、商用周波数(60Hz)を取込むのでサンプリングの定理・デジタルフィルタ処理や演算処理も考慮して、電気角の15°つまり1440Hz(60×360/15)として�@の方法で行いました。ソフト処理AVR側は、タイマカウンタ1の一致割込処理(CTC動作)にて1440HzごとにAD変換を行い、結果をホストPC送っているだけです。http://activecell.jp)でシリアル通信を行いデータを取り込みます。取込んだデータを適当(スケーリング等)に処理しグラフ表示させます。実行結果EasyCommの取り扱いにもあるように、一部RS232C/USB変換ケーブルを使うと、comポートオープン後の最初の1バイトが受信できないことがあります。私も、RS232CのないパソコンなのでエレコムのUC−SGTを用いてUSB接続をしましたが、やはりだめでした。(半分くらい確立で失敗)しかたがないので、ソフト処理で逃げました。アナログ入力(ch0)にAC100Vを変成して約2Vp-pを作り入力して取り込んだところです。赤線は元データで、青線はフィルタ処理(180°前データ差引)によりDC分および偶数調波を除去し、基本波は2倍の振幅を得てます。