|
|||||||||||
| 技術(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 |
請(qǐng)教兩個(gè)中斷的用法(急!) |
| 作者:tsstchip 欄目:ARM技術(shù) |
平臺(tái):EasyArm2131+LPC2142Pack 問題:使用2142的TIMER和USB功能,采用中斷方式。請(qǐng)大家?guī)兔纯匆韵碌某跏蓟a對(duì)不對(duì)。因?yàn)槲疫@么寫以后,USB傳輸?shù)臄?shù)據(jù)不對(duì)了。懷疑是中斷設(shè)得不對(duì),因?yàn)閱为?dú)用USB傳數(shù)據(jù)或者用TIMER的話沒問題的。 //USB 初始化程序,USB中斷被分配到slot1,優(yōu)先級(jí)為1 void Init_USBInterrupt(void) { VICIntSelect = 0x00000000; // 設(shè)置所有中斷分配為IRQ中斷 VICVectCntl1 = (0x20 | 22); /* USB中斷分配到中斷向量1 */ VICVectAddr1 = (INT32U)Usb_Exception; /* USB中斷服務(wù)程序地址 */ VICIntEnable = 1 << 22; /* 使能USB中斷 */ } //TIMER0 初始化程序,Timer0中斷被分配到slot0,優(yōu)先級(jí)為0,中斷向量號(hào)查看上冊(cè)P109 void Init_Timer0Interrupt(void) { VICIntSelect = 0x00000000; // 設(shè)置所有中斷分配為IRQ中斷 VICVectCntl0 = (0x20 | 4); /* Timer0中斷分配到中斷向量0 */ VICVectAddr0 = (INT32U)Timer0_ISR; /* Timer0中斷服務(wù)程序地址 */ VICIntEnable = 1 << 4; /* 使能Timer0中斷 */ } |
| 2樓: | >>參與討論 |
| 作者: zlgARM 于 2007/3/29 9:00:00 發(fā)布:
tsstchip 如果單獨(dú)調(diào)試,中斷沒有問題,初始化就沒問題。兩個(gè)模塊聯(lián)調(diào)出問題的話,原因多半出在彼此之間的沖突上,單步調(diào)試一下,看看初始化、中斷等是否有沖突處,這些沖突對(duì)您預(yù)期的結(jié)果的影響。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |