音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

關(guān)于外部中斷的一個(gè)問題

作者:hy1314 欄目:技術(shù)交流
關(guān)于外部中斷的一個(gè)問題
我想用外部中斷INT0來采集46KHz的方波,通過計(jì)算低電平的個(gè)數(shù)來做的,并由串口輸出個(gè)數(shù)!我設(shè)置的是串口中斷優(yōu)先,我應(yīng)該如何來控制外部中斷的開關(guān)呢?是在串口中斷里面設(shè)置EX0=1嗎?

2樓: >>參與討論
conwh
看你的掃描時(shí)間,在UART輸出時(shí)關(guān)閉INTx的中斷
 
3樓: >>參與討論
hotpower
沒必要吧~~~
 
4樓: >>參與討論
hy1314
程序
我是這么想的:串口中斷優(yōu)先,并在串口中斷里面設(shè)置了IT0=1;EX0=1;先串口中斷后,應(yīng)該開始外部中斷,這個(gè)時(shí)候應(yīng)該開始計(jì)數(shù)了,然后再通過串口中斷輸出數(shù)據(jù)  ,我沒有得到數(shù)據(jù)。大家?guī)臀铱纯!謝謝

外部中斷程序:void int0() interrupt 0  //using 2
{
  if(count<0xEA60)     //小于60000加1
  {
  count++;
  }
  else
  {
  j++;
  count=0;
  }
}

串口中斷程序:serial() interrupt 4 //using 1
{
if(RI)
{
        RI=0;

        if((RB8)&(!(SBUF^0x96))&(i==0))
        {
           SM2=0;
           sum=0x96;
    }
        else if(SM2==0)
        {
               r_output[i]=SBUF;
                sum+=r_output[i];
                i++;
                if((i==5)&&(sum==0))
                {


                      if(r_output[0]==0x02)
                           {
                                IT0=1;
                                EX0=1;

                           }
                      if(r_output[0]==0x06)
                           {
                                get_data_flag6 = 1 ;   //LCU控制板CLK
                           }
                     
                           SM2=1;    //數(shù)據(jù)正確就將其放入數(shù)據(jù)區(qū)
                           i=0;

                }
                else if((i==5))
            {
            SM2 = 1;       //數(shù)據(jù)出錯(cuò)就重新開始接收
            i = 0;
            }
         }
    }
}

接收數(shù)據(jù):if(get_data_flag6 ==1)
          {
                get_data_flag6 = 0 ;
               
                ES=0;
                ctrl485=1;

                sum=0x36;
                SBUF=0x36;
                while(TI==0); TI=0;

                sum+=r_output[0];
                SBUF=r_output[0];
                while(TI==0); TI=0;

                sum+=j ;
                SBUF=j ;
                while(TI==0); TI=0;

                sum+=count%256;  //低位數(shù)據(jù)
                SBUF=count%256;
                while(TI==0); TI=0;

                sum+=count/256;  //高位數(shù)據(jù)
                SBUF=count/256;
                while(TI==0); TI=0;

                SBUF=0xff-sum+1;
                while(TI==0); TI=0;

                ctrl485=0;
                ES=1;

          }

5樓: >>參與討論
hotpower
在接收程序里應(yīng)該關(guān)EX0而非ES~~~
接收程序里使用count和j.

一般在接收程序里先關(guān)EX0后將count和j暫存后再開EX0,這個(gè)時(shí)間很短~~~

6樓: >>參與討論
hy1314
外部中斷
昨天我把外部中斷優(yōu)先了,并把P1設(shè)成觀察口,可以進(jìn)入中斷。可惜的是不能進(jìn)入串口中斷!在外部中斷里面想通過判斷TF0來關(guān)中斷,好像只關(guān)了不到1秒的時(shí)間,我應(yīng)該如何關(guān)呢?

7樓: >>參與討論
conwh
NEXT
hy1314 發(fā)表于 2006-10-16 21:07 技術(shù)交流 ←返回版面    

關(guān)于外部中斷的一個(gè)問題

我想用外部中斷INT0來采集46KHz的方波,通過計(jì)算低電平的個(gè)數(shù)來做的,并由串口輸出個(gè)數(shù)!我設(shè)置的是串口中斷優(yōu)先,我應(yīng)該如何來控制外部中斷的開關(guān)呢?是在串口中斷里面設(shè)置EX0=1嗎?

=====================================
你不會(huì)總在數(shù)數(shù)吧?你有讓大家猜的時(shí)間,都能把你的設(shè)計(jì)(軟硬一起)做出來。耽誤工夫!

8樓: >>參與討論
szzhengjin
整理一下你的思路,我說一些,看是否有用
64K的方波,你的CPU若是24M,那INT0中斷里的程序在31.25個(gè)機(jī)器周期內(nèi)必須完成,若是22.1184M,那INT0中斷里的程序在28.8個(gè)機(jī)器周期內(nèi)必須完成

串行中斷,若方波是不停的進(jìn)來,那串行中斷接收數(shù)據(jù)處理時(shí)間得更短,否則根本沒辦法處理

具體的解決辦法得根據(jù)你的實(shí)際應(yīng)用,最好采用高效的單片機(jī),即單條指令不用這么長時(shí)間的

9樓: >>參與討論
hy1314
解決了
問題解決了!由于外部中斷&定時(shí)中斷是同一優(yōu)先級(jí)的,導(dǎo)致了外部中斷不響應(yīng)。INT0里面的程序很短的!謝謝。。。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
負(fù)離子干擾單片機(jī),請(qǐng)教高手,急急。
請(qǐng)問,AT91SAM7SXX的ARM,如果spi我用了主模式
請(qǐng)教電話線定義:
平常用的動(dòng)圈式喇叭是電感器件還是電阻器件呢
找電源芯片
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)