H8/3052を使っていろいろ動作させようと考えてます、
タイマー割り込みのところで詰まっていますが、タイマー割り込みを使ってLEDを反転するというプログラムです。
結果、LEDが反転しないつまり、タイマー割り込みが動作してないのではないかと考えています。
うちが使いたいタイマーはウオッチドッグタイマです。イエローで、C言語を使っています。
皆様の知識をお借りしたいです。
//20msごとに割り込み、50回の割り込みでLED点灯反転
#include <3048.h> //3048、3052の内部I/O定義
#include <sysio.h>
int c; //割り込み回数、外部変数とする
//ITUインターバルタイマ割り込み
void int_imia0(void)
{
ITU0.TSR.BIT.IMFA = 0; //割り込みステータスフラグクリア
c-=1;
if(c==0){
P5.DR.BYTE = ~P5.DR.BYTE; //LED出力データを反転
c=50;
}
}
int main(void)
{
P5.DDR = 0xff;
ITU0.TCR.BIT.CCLR = 1; //カウンタクリア要因
ITU0.TCR.BIT.TPSC = 3; //タイマプリスケーラ25MHz/8=3.125MHz
ITU0.GRA =62499; //3.125MHz/62,500=50Hz、周期20ms
ITU0.TIER.BIT.IMIEA = 1; //IMFAフラグによる割り込み許可
ITU.TSTR.BIT.STR0 = 1; //タイマスタート
P5.DR.BYTE = 0xff; //LED出力データ初期値
c=50; //割り込み回数
_ei(); //割り込み許可
while (1); //何もしない
}
動作できない為、ご指摘よろしくお願いします。
No.2ベストアンサー
- 回答日時:
>私は初心者なのでどこが原因なのか判断できませんので、原因の可能性のあるところをご指摘よろしくお願いいたします
この手のハード絡みの質問はただでさえ回答がつきにくい傾向にあります
(同じ環境使ってる人・使ったことある人で無いと回答つけずらい)
最低限の情報としてチップ(マイコン)名だけではなく使っている環境と
(多分マイコンボード AKI-H8/3052? などではないかと思いますがその型番)
(今回これは余り重要ではないと思いますが)使用コンパイラ
などの情報も書いたほうがいいのではないかと思います
私自身最近マイコンプログラミングやってるわけではないので
詳細の説明は出来ませんが P5.DR.BYTE というのも
どこかのレジストリなりに割り当てられているはずです
(マイコンチップのIOレジストリだと思いますがソースで確認してください)
単純にIOポートに出力しているのに対して出力変化が
見られないのであれば後残るはハード要因となります
初めに書いたように割り込みの前に単純にIO出力できていることを確認取るのが先決です
割り込み自体はIO制御が出来れば動いてるんじゃないの? って気がしてます
ちゃんと見てないですが以下辺りが参考に出来るんではないかと思います
http://tokyo-ct.net/usr/kosaka/for_students/H8_3 …
http://tokyo-ct.net/usr/kosaka/for_students/H8_3 …
No.1
- 回答日時:
実際同じチップ(環境)使っているわけではないのでなんともいえませんが
割り込み以前の話として P5.DR.BYTE への出力値を変えることで
LED表示が切り替わることは確認されてますか?
(変わらないのであれば割り込みの問題じゃない可能性があります)
この回答への補足
返事ありがとうございます。
P5.DR.BYTE への出力値を変えましたが、LEDの表示は変わりませんでした。
私は初心者なのでどこが原因なのか判断できませんので、原因の可能性のあるところをご指摘よろしくお願いいたします。
また、3052のウオッチドッグタイマを使ったプログラムの例ありましたら教えてください。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- 工学 LED、CdS(受光素子)、ディジタル IC(組み合わせ回路,順序回路)、タイマーICの技術を組み合 1 2022/12/23 10:45
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マイコンSH-2の割り込みを用い...
-
Excelでタイマーの一時停止する...
-
割り込みの衝突
-
VB6でSendKeyを利用したTab移動...
-
タイマーが動作しません
-
(H8マイコン)タイマ割込で変更...
-
Z80の割り込みについて
-
マイコンの割り込みについて教...
-
STATUSのZフラグについて
-
Amazonfireタブレットにわから...
-
Windowsプログラミングについて。
-
割り込み中に例外異常
-
PICマイコンでエンコーダパルス...
-
Macターミナルで実行中のプログ...
-
C言語で、メモリを解放しないで...
-
緯度、経度の 10進法と 60進法...
-
バックグラウンドのプロセスの...
-
Excelでのセル内容の高速消去方法
-
C# シリアル通信でデータ受信...
-
C#でのbatファイル実行結果取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
このレジの並び方は間違ってま...
-
電車で待機列の割り込みについ...
-
スーパーのレジで並んでいたら...
-
ショッピング
-
CPUの処理量を減らすコーデ...
-
一定時間操作がなかったら、と...
-
CPU負荷率の安全な上限と計...
-
pic 複数の割り込み関数 切り分...
-
Amazonfireタブレットにわから...
-
【組込み】割り込み中のstatic...
-
マイコン C言語 割り込み処理...
-
USB機器からのデータ受信による...
-
駅のトイレでナイチンに邪魔さ...
-
インバウンドで迷惑している人...
-
PICのSleepからの復帰に関して
-
PICでのプログラムによるチャタ...
-
実行した後、どうしてもフリー...
-
PICで内部タイマーを使わずカウ...
-
SH2のタイマ出力
-
割り込み中に例外異常
おすすめ情報