私の友人はPIC12 MCUのための小さなプログラムを書くのを助けるように私に頼んでいます。私たちは欲しい
- 入力電圧が2秒間で1.9V未満になると、プログラムは停止します。
- 入力電圧が2.5Vを超えるとすぐに反応します。
私はシステムのタイムスタンプを読んで比較することで第1の問題を解決しようとします:
#include
... ...
time_t beg, end;
beg = 0;
end = 0;
while(1){
if(INP_VOL < 1.9){
if(beg == 0){
/* Read timestamp when voltage < 1.9 */
gmtime(&beg);
}
/* Campare timestamp */
gmtime(&end);
if(end - beg > 2){
break; /* !!stop running!! */
}
}
else{
/* if voltage back to normal, reset beg timestamp. */
beg = 0;
}
}
私はPIC12ユーザーマニュアルで関数 gmtime(time_t *)
を見つけましたが、それが良い解決策かどうかはわかりません。
しかし、私は第2の問題を解決する方法を理解することはできません。これは、プログラムの実行中に入力電圧をモニタする独立したスレッドのようなものでなければなりません。そして、プログラムは、回路が破損する前にすぐに(他の関数を呼び出すことによって)反応する必要があります。
私はコンピュータプログラマーですが、私はMCUのためにコーディングしたことはありません。 HI-TECH Cでこのようなことが可能かどうか知りたいですか?