PSoCを使っていると、ほぼ決まったユーザーモジュールしか使わない事に(やっと)気が付いたw
といっても、やってる事がしょぼいので必然的にそうなるのかもしれないけど。
で、前から気になってたCMPPRGというコンパレータを使ってみました。
74シリーズでお馴染みというやつですかねー。よく知らんけど。
入力電圧と設定した閾値と比較して...比較してどうするんだっけ??
ADコンバータで電圧をある値の上か下かで判定している部分があれば、それはこのコンパレータで置き換えることができる。と思う。
例えばこんなやつ。
if( adcVal > 2048 ) LED_On();
ようするに電圧を比較してHiかLowか、デジタル出力なら0か1かといった2値化するやつですね。
さて、デザイナで配線すると、恐らく大半はDigBufモジュールとセットになるのではないかと思う。Analog出力もできるけど、いまいち使い道がわかりません
このDigBufモジュールも曲者?で、モジュールの割り込み関数内で値を参照するらしい。なにしろ値を取得するAPIがありません。
それか、DigBufの出力先ポートのGPIO割り込みで...ってどちらも割り込み関数内で処理ってことになりますね
まぁ実際はそうじゃないと困るのでしょうけど。
使い所としては、PGA+ADCだとアナログブロックもデジタルブロックもCPUパワーも取られるので、単純な電圧値でON/OFFの検出程度だったら、CMPPRGとDigBufの組み合わせがお得ですよ~って所かな。
といっても、やってる事がしょぼいので必然的にそうなるのかもしれないけど。
で、前から気になってたCMPPRGというコンパレータを使ってみました。
74シリーズでお馴染みというやつですかねー。よく知らんけど。
入力電圧と設定した閾値と比較して...比較してどうするんだっけ??
ADコンバータで電圧をある値の上か下かで判定している部分があれば、それはこのコンパレータで置き換えることができる。と思う。
例えばこんなやつ。
if( adcVal > 2048 ) LED_On();
ようするに電圧を比較してHiかLowか、デジタル出力なら0か1かといった2値化するやつですね。
さて、デザイナで配線すると、恐らく大半はDigBufモジュールとセットになるのではないかと思う。Analog出力もできるけど、いまいち使い道がわかりません

このDigBufモジュールも曲者?で、モジュールの割り込み関数内で値を参照するらしい。なにしろ値を取得するAPIがありません。
それか、DigBufの出力先ポートのGPIO割り込みで...ってどちらも割り込み関数内で処理ってことになりますね

まぁ実際はそうじゃないと困るのでしょうけど。
使い所としては、PGA+ADCだとアナログブロックもデジタルブロックもCPUパワーも取られるので、単純な電圧値でON/OFFの検出程度だったら、CMPPRGとDigBufの組み合わせがお得ですよ~って所かな。