pic 12F1822で、
割り込みを、
IOCAN3 = 1;
IOCIE = 1;
GIE = 1;
のようにして下の関数を呼び出して、正常に動作していますが、、呼び出す側にisr()をターゲットにする記述はみあたりません。
void __interrupt() isr(void)
{
// 割込み処理プログラム内容を記述する
// 割込み処理の最後に割り込みフラグをクリアする
}
割り込みをRA3だけでなく、RA0,1,2などをトリガとして、複数の割り込み関数を切り分けることはできるでしょうか。
出来ないわけはないと思うのですが、web上を探しても、簡略な方法はありませんでした。
picの入門レベルでも解説されていませんでした。
どうぞよろしくおねがいします。
No.2ベストアンサー
- 回答日時:
特に組み込み系の質問をする場合、必ず使用する開発環境も教えてください。
同じC言語の環境であってもA社の開発環境とB社の開発環境では組み込み関数や割り込みの取り扱いが全く異なります。同じ会社のプログラムであってもバージョンで異なることもあります。
使用する関数から見て質問者の環境はMPLAB XC8 Cコンパイラーと思われますがどうでしょうか。
もしそうだとすると、
>割り込みをRA3だけでなく、RA0,1,2などをトリガとして、複数の割り込み関数を切り分けることはできるでしょうか。
に対する答えは"PIC 12F1822に対しては不可"となります。
MPLAB XC8 Cコンパイラーでは割り込みベクタに対応してそれぞれ関数を割り当てます。PIC12F1822には割り込みベクタは一つしかありませんから関数を一つしか作ることができません。
複数の割り込みを有効にしている場合は、その関数が呼び出される際に割り込みフラグを読み取りどの割り込みかを判断して処理を行います。
具体的な例としては
http://www.picfun.com/xc/xc06.html
あたりをご覧ください。
上記のサイトは#1の方の示す1個目のサイトと同じドメインとなっていますね。でも書いてある内容はかなり違うと感じるでしょう。これは初めに書いた開発環境の違いによるものです。
#1に示される1個目のサイトで取り上げられている開発環境はCCS-Cという古のコンパイラーだと思われます。このコンパイラーであれば割り込み要因ごとに関数を割り当てることになります。
ですがMPLAB XC8 Cコンパイラーでは割り込みベクタごとにしか関数を割り当てることはできません。(なお、割り込みベクタを複数設定可能なPIC18シリーズでは割り込みベクタごとに関数を割り当てます)
Webで検索する場合でも開発環境を明示しておいてそれ以外の検索条件を緩やかにしておけばいくらでも情報は手に入るでしょう。
ありがとうございました。
データシートの表を一見したところ、4つのピンから割り込みがかけられ、基本的な機能で、コンパイラなどには無関係と思いました。
お世話になりました。
No.1
- 回答日時:
>web上を探しても、・・・ありませんでした
割り込み処理関数
http://www.picfun.com/ctech09.html
割り込み
http://www.coins.tsukuba.ac.jp/~yas/coins/os2-20 …
回答ありがとうございます。
お示しいただいたURLチェックしてみましたが、私には高レベルすぎて、最初から勉強しなくてはなりません。お手数かけました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- 教育ソフト・学習ソフト vbsで分割した値をそれぞれの変数に 1 2022/10/17 19:52
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- Visual Basic(VBA) 1つの入力フォルダの値を読み込み、3分割をして新しい変数に代入する方法を教えていただきたいです。 読 4 2022/10/17 20:52
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- 郵便・宅配 クロネコヤマトについて、持ち込み発送を簡単に済ませるには?(集荷と比べて面倒) 3 2023/02/08 23:58
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
PICマイコンで時間測定の方法を教えて!
その他(パソコン・周辺機器)
-
PIC のプログラムについて どうすれば終了できますか?
C言語・C++・C#
-
【PICマイコン】AD変換中にタイマー割り込みしたらAD変換はやりなおしですか?
その他(プログラミング・Web制作)
-
-
4
PICマイコンで複数ADの同時測定
その他(パソコン・周辺機器)
-
5
PICはアセンブラとC言語のどちらにすればよいですか
その他(プログラミング・Web制作)
-
6
PIC16F1827でPCとシリアル接続
C言語・C++・C#
-
7
PICのリセット端子のプルアップについて。 PICのリセット端子(MCLR)ですが、外部プルアップは
その他(教育・科学・学問)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スーパーのレジで並んでいたら...
-
マイコン C言語 割り込み処理...
-
C-Builder OnChangeをマスク
-
USJでの割り込み
-
(H8マイコン)タイマ割込で変更...
-
AKI-H8/3048Fでのタイマ割り込み
-
PIC(MOVFで何故、STATUS Zフラ...
-
【組込み】割り込み中のstatic...
-
picのタイマ1発振開始時間に関...
-
PCの割り込み処理とはなんでし...
-
【H8-3052F】タイマ割り込み
-
Macターミナルで実行中のプログ...
-
緯度、経度の 10進法と 60進法...
-
家電製品の電力周波数を変える機械
-
大容量のメモリ確保をスワップ...
-
Mac 乗数の入力方法
-
【C言語 数独】 C言語で9×9の数...
-
符号付きにすべきか、符号なし...
-
Excel-VBAのmsgBox()の不思議
-
VBA
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの処理量を減らすコーデ...
-
pic 複数の割り込み関数 切り分...
-
【組込み】割り込み中のstatic...
-
USJでの割り込み
-
CPU負荷率の安全な上限と計...
-
ウォッチドッグタイマ(WDT)の...
-
電車乗車時、並んでいるのに割...
-
USB機器からのデータ受信による...
-
一定時間操作がなかったら、と...
-
Amazonfireタブレットにわから...
-
マイコン C言語 割り込み処理...
-
PICマイコンでエンコーダパルス...
-
電車で待機列の割り込みについ...
-
駅のトイレでナイチンに邪魔さ...
-
実行した後、どうしてもフリー...
-
電車のドアの前での並び方
-
V.B.6 多重Call用スプール作成...
-
H8マイコンでの割り込み(シリ...
-
VB.net 割り込みの禁止
-
割り込みについて
おすすめ情報