« 作業日誌 | メイン | ものごとを抽象的にとらえる視点 »

2007年08月02日

PSoCのUART受信割り込み

PSoCの受信割り込みまわりで1日つぶす。
PSoCのUART受信は、標準だと、コマンド入力のようなCR末端文字列が受信されると発生する割り込み、しかない。
そこでここあたりを参考に、UART受信割り込みをハックする。
要は、
・1バイト受信するとRX8_ISRが呼ばれるので、それを普通の割り込み関数のように処理関数を書く
・RX8_bReadRxData() で1バイト受信。
ということ。

しかし、予想以上に割り込みのオーバーヘッドが大きいようだ。っていうかCで書いたPSoCのプログラムって、やけに実行遅くないか?
CPUのクロックはSYSCLK/1=24MHzなのに、1バイトをバッファに読み込むだけ、で6us近くかかる。そういえばこのとき、デバッグ用にIOポートをいじるのにLEDモジュールを使っているんだけど、これはただ単にIOポートのレジスタをいじるだけじゃないのか?もしかして関数呼び出しでもしているんだろうか?
IOポートのレジスタを直接いじってデバッグしてみるか。

投稿者 akita : 2007年08月02日 17:13

コメント

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)