|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | 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 |
幫忙解決捕獲中斷的問題。 |
| 作者:whly001 欄目:DSP技術(shù) |
我現(xiàn)在用的是dsp2407,要捕獲市電頻率,但是要捕獲兩次之后才能進(jìn)入中斷,有沒有什么辦法解決啊,急求。 |
| 2樓: | >>參與討論 |
| 作者: whly001 于 2005/10/2 18:28:00 發(fā)布:
有沒有人可以幫忙搞定。 |
|
| 3樓: | >>參與討論 |
| 作者: whly001 于 2005/10/2 18:31:00 發(fā)布:
捕獲兩次之后才能進(jìn)入中斷,附程序!! main() /* the main pogram*/ { initial() ; timer12int(); cap4int(); *T1CON=*T1CON|0x0040; *T2CON=*T2CON|0x0040; /* *T3CON=*T3CON|0x0040; */ /* *CAPCONB=0x2240; */ while(1) { } } /* the end of main program*/ initial() /*系統(tǒng)初始化子程序 initialize the SYSTEM*/ { asm(" setc SXM "); asm(" setc OVM "); asm(" setc INTM "); asm(" clrc CNF "); *SCSR1=0x029D; *SCSR2=0x0e; /* MP module--0x0e , MC module--0x0a */ *WDCR=0x06f; /* disable the dog*/ *IMR=0x0000; *IFR=0x0ffff; } /* the end of initialization */ cap4int() { *T2PR=0xffff; *T2CON=0x1400; *T2CNT=0x00; WSGR=0x0000; /* CLOSE all the waiting */ *CAPCONA=0x2040; *CAPCONA=0x2040; *CAPCONA=0x2040; /* cc=*CAPFIFOB&0x0300; */ asm(" clrc INTM "); *IMR=0x0a; *EVAIMRC=*EVAIMRC|0x0001; /* cap4 */ *EVAIFRC=*EVAIFRC|0x0001; bb=*CAPFIFOA&0x0300; *EVAIMRB=*EVAIMRB&0xff00; /* t2 campare */ *EVAIFRB=*EVAIFRB|0x02; } interrupt void t2ufinta() /*定時(shí)器2比較中斷服務(wù)程序*/ { unsigned int flaga; unsigned int temp11,temp22; unsigned int adc_start; ww++; flaga=*EVAIFRB&0x02; flaga=*EVAIFRB&0x02; if(flaga==0x02&&kk<60) { i_1[kk]=*T2CNT; /* kk++; */ } if(flaga!=0x02) /* 此處不是0x01 */ {asm(" clrc INTM "); return; } *PADATDIR=*PADATDIR|0x0080; delay(); *PADATDIR=*PADATDIR&0xff7f; /*IOPa7*/ *EVAIFRB=*EVAIFRB|0x02; *EVAIFRB=*EVAIFRB|0x02; *EVAIFRB=*EVAIFRB|0x02; asm(" clrc INTM "); return; } interrupt void phantom() /*假中斷*/ { /* *WDKEY=0X5555; */ /* *WDKEY=0XFFFF; */ asm(" clrc INTM " ); return; } interrupt void capture() /*同步脈沖捕獲*/ { int flag; flag=*EVAIFRC&0x01; if(flag!=0x01) { asm(" clrc INTM "); www++; return; } /* if(kk==0) { cc=*CAP1FIFO; dd=*CAPFIFOA; } if(kk==1) ff=*CAPFIFOA&0x0300; */ if(kk<50) { i_1[kk]=*CAP1FIFO; result[kk]=*T2CNT; i_2[kk]=*T1CNT; if(kk==0) ee=*CAPFIFOA; kk++; /* *T1CMPR=gg+2*kk; */ } /* *PADATDIR=*PADATDIR|0x0040; delay(); *PADATDIR=*PADATDIR&0xffbf; */ /*IOPa6*/ *EVAIFRC=*EVAIFRC|0x01; *EVAIFRC=*EVAIFRC|0x01; *EVAIFRC=*EVAIFRC|0x01; /* *T2CNT=0x00; */ asm(" clrc INTM "); return; } & |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |