
No.2ベストアンサー
- 回答日時:
したい事は次のような事でしょうか?
「一定時間内に入力が変化したら”A”を実行する。変化せずに一定時間が過ぎたら”B”を実行する」
ただし、この条件ではまだ不十分です。
それは、”A”や”B”を実行した後どうするかが無いからです。
取りあえず、前の部分だけとしても色々やり方が有ります。
案1、
int old ;
old = port;
for( i=0; i<NN ; i++ ){
if( old != port ) goto AA ;
}
BB: /* ”B”の処理をする */
return;
AA: /* ”A”の処理をする */
return;
注:この方法では割り込みが発生すると時間が狂います。正確な時間を出そうとすると難しくなります。
案2
タイマーを使います。
PICのタイマー1を使うとして、
int old ;
/* タイマー1の初期化をする */
TMR1 = NN ; /* タイマーの時間を設定 */
_T1IF = 0 ; /* タイマー1のフラグをクリア */
old = port;
while( _T1IF == 0 ){ /* タイマー1がオーバーフローするまで待つ */
if( old != port ) goto AA ;
}
BB: /* ”B”の処理をする */
return;
AA: /* ”A”の処理をする */
return;
案3
割り込みを使用する。
main(){ での処理
/* タイマー1の初期化をする(割り込みを含む)*/
/* ポート変化の割り込みの設定をする */
/* 別の処理を実行する事が出来る */
}
/* タイマー1の割り込み処理を記述する */
{
”B”の処理を行う
}
/* ポート変化の割り込み処理を記述する */
{
”A”の処理を行う
}
やりたい事の具体的内容によって色々な方法が有ります。
やりたい事が違えば、上記の方法は駄目かも知れません。
コーディングの技法よりは、やりたい事を“日本語”で正確に記述する方が大事です。
お礼が遅くなってごめんなさい。
>「一定時間内に入力が変化したら”A”を実行する。変化せずに一定時間が過ぎたら”B”を実行する」
たぶんこれで大丈夫だと思います。
記述してくださったプログラムを参考に作ってみます!
回答ありがとうございした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 教えて!goo ベストアンサーを選定出来る条件を変更・・・以前との違いが無いように思いますが? 何が言いたいのでしょ 7 2023/04/01 16:43
- 英語 全く英語力0の状態からTOEIC750点、英検準1級取得、または同等レベルになるには、どの程度期間が 5 2023/07/25 22:37
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- インターネット広告・アフィリエイト アフェリエイトサイト 作成について 5 2022/05/13 21:31
- サーバー メールサーバーについて詳しい方、メールサーバーの管理業務経験のある方、教えてください。 3 2022/11/12 18:24
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 高校 対数方程式につきまして 4 2022/05/05 07:55
- 退職・失業・リストラ 給与等の条件変更について。 育児休業明け今月4月から現場復帰(正社員)しております。 2月末に4月以 1 2023/04/06 20:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
USB機器からのデータ受信による...
-
一定時間操作がなかったら、と...
-
CPUの割込みについて
-
PICで内部タイマーを使わずカウ...
-
電車で待機列の割り込みについ...
-
アセンブラのタイマー割り込み
-
PIC16F84でデジタルスピードメ...
-
CPUの処理量を減らすコーデ...
-
このレジの並び方は間違ってま...
-
マイコン C言語 割り込み処理...
-
Amazonfireタブレットにわから...
-
CPU負荷率の安全な上限と計...
-
Access Violationについて
-
WSH(VBScript)でアプリケーショ...
-
Macターミナルで実行中のプログ...
-
SetWindowPosについて
-
vba listviewにおけるtextのAli...
-
複数スレッドを動作させるのに...
-
SQLの速度をあげるには・・・
-
オフスクリーンサーフェスへの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
電車で待機列の割り込みについ...
-
スーパーのレジで並んでいたら...
-
CPU負荷率の安全な上限と計...
-
マイコン C言語 割り込み処理...
-
このレジの並び方は間違ってま...
-
USB機器からのデータ受信による...
-
【組込み】割り込み中のstatic...
-
VB6でSendKeyを利用したTab移動...
-
一定時間操作がなかったら、と...
-
VB.NET スレッドからのイベント...
-
irqbalance って
-
ウォッチドッグタイマ(WDT)の...
-
Timerコントロールによる動作の...
-
pic 複数の割り込み関数 切り分...
-
マイコンSH-2の割り込みを用い...
-
Amazonfireタブレットにわから...
-
STATUSのZフラグについて
-
マイコンの割り込みについて教...
-
Timerコンポーネントのインター...
-
電車乗車時、並んでいるのに割...
おすすめ情報