石川 真史 wrote:
>
> はじめまして、はじめて投稿します石川と申します。
> H8/3048fで秋月製のコンパイラを用いています。
>
> 割り込みプログラムを書こうと思ったのですがうまくいきません。
> 知っている方、助言をお願いいたします。m(__)m
>
> 実は、IRQ0(P8-0)を用いて外部からの割り込みをしたいのです。
> CS1,CS2,CS3(P8-1からP8-3)は使用しています。
>
> 割り込みの初期化には、
> INTC.ISCR.BIT.IRQ0SC = 1; /* 割込み要求:立ち下がりエッジ*/
> INTC.IER.BIT.IRQ0E = 1; /*IRQ3端子:許可*/
>
> としており、割り込みプログラムは、
>
> #pragma interrupt(Int)
> void Int(void)
> {
> 処理内容
> return;
> }
>
> としております。
>
> まず、手始めにピンをプルアップしておき、スイッチが押されるとLowになるように
> しました。最初に一回割り込みが起きるのですが、その後
> スイッチを押しても何も起こりません。
>
> わかりにくい文章で申しわけありません。
> どうかよろしくお願いします。
こんにちは オナトと申します。
もう一つの 原因はスイッチのチャタリングと思われます。スイッチ
を一回押していると思っても、IRQ信号は数回起こります。これは
割込み処理中に起きたら(割込み中の割込みが有効になっている場合)、
クラッシュする可能性があります。
| Ahmet ONAT Sabanci Universitesi, Turkey |
| E-mail : onat@xxxxxxxxxxxxxxx |
| WWW page : http://www.geocities.com/ahmetonat |
| My 6 leg walker, RC airplanes & more in home page |
Land mines kill civilians in peacetime! Support total ban.