關於AT91SAM7S64的PIOA中斷觸發問題!

2021-05-05 13:17:02 字數 856 閱讀 5077

這是實驗**。

void __irq key_isr_handler(void) 

else if(!((1<<16) & *at91c_pioa_pdsr))

else if(!((1<<20)& *at91c_pioa_pdsr))

else if(!((1<<23) & *at91c_pioa_pdsr))

*at91c_aic_eoicr = 1;

}void keyirqinit(void)

{*at91c_pmc_pcer |= 0x00918000; //pmc外設時鐘時能

*at91c_pioa_per |= 0x00918000; //key1-4為i/0使用

*at91c_pioa_odr |= 0x00918000; //輸出禁止

*at91c_pioa_sodr |= 0x00918000; //置位輸出

*at91c_pioa_ier |= 0x00918000; //key1-key4中斷使能

// *at91c_pioa_idr |= 0x00918000; //中斷禁止

*at91c_pioa_ifer |= 0x00918000; //毛刺濾波器使能

*at91c_pioa_ppuer |= 0x00918000; //上拉/時能禁止

*at91c_aic_idcr |= 1paic->aic_svr[at91c_id_pioa] =  (uint32) key_isr_handler;

paic->aic_iecr |= (1 << at91c_id_pioa);  //開啟aic中斷

上面打??的地方是遇到問題的地方。

當改用下降沿觸發時容易掛。。。不知道為什麼。尚在研究中?

編譯核心for at91sam9260

注意 1 在核心編譯時,在編譯的過程 現錯誤也會生成輸出檔案,這個檔案是不能用的。2 在clean 後進行編譯時的 花費時間 4分鐘,檔案大小為約 1.33m 3 在不clean 直接進行編譯時的 花費時間 12秒,檔案大小為約 1.33m make zimage檔案是指令碼檔案,由它來設定引數,以...

AT91SAM9260開發環境的搭建

由於at91sam上移植的是2.6版本的核心,交叉編譯工具版本不宜過高,所以這裡ubuntu系統也選擇的是10.04版本 ubuntu1004版本的源更新 中文系統配置 vim作為開發時最常用的編輯器,它的配置可以影響到你的工作效率。vim配置 設定固定的ip位址 方便開發板與虛擬機器連線時的穩定。...

基於AT91SAM7 MCU的UC GUI的移植

硬體設計方面主要是at91sam7晶元與有t6963驅動器的160 128單色顯示屏介面。觸控螢幕設計主要是四線電阻式觸控螢幕和ads7843晶元連線再接at91sam7晶元的spi介面上,pirq角與mcu上的irq0外部中斷引腳相連線。uc gui在這個晶元上的移植很簡單,主要還是對t6963驅...