« 作業日誌 | メイン | ものごとを抽象的にとらえる視点 »
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