ARM7 s3c44box中斷全域性變數問題

2021-07-07 01:12:43 字數 338 閱讀 1648

今天碰到乙個問題,即arm7 s3c44box中斷全域性變數問題,當時的應用情景如下:

在中斷函式裡維護乙個全域性變數,它用於標誌開關,即中斷來就開,注意這個中斷函式是在a.c的檔案裡定義的, 即flag=1。

在另外乙個函式中會用到該全域性變數,即while(!flag); flag=0; 會對該變數關閉的作用,它的定義在b.c 中。

問題來了,如果我在a.c中定義該變數,在b.c中宣告該全域性變數,就會發現b.c中一直等待不到中斷函式裡修改的標誌即flag=1,這樣在b.c中就會一直死等待,不明白什麼原因。

後來,我交換了定義的地方,即在b.c中定義,a.c中宣告。結果就ok了。真的不明白為什麼。。。

S3C44B0的中斷模式

對於各種中斷源的響應,s3c44b0有兩種中斷模式 向量中斷模式和非向量中斷模式,這就導致在軟體處理上,可以很靈活的處理中斷請求。一般來說做如下處理 如果系統採用的rom定位在位址0x00,則中斷向量標應該包含一系列分支語句,跳轉到相應的中斷處理程式 這也是s3c44b0所支援的模式 如果rom定位...

s3c2410 ARM 時鐘與設定

osc是用無源晶振,ext是用有源晶振或外部時鐘2440的12m是oscillator 是有源的呀!2440的12m是oscillator crystal 無源晶體 oscillator 有源晶體 裡面有有源器件 無源晶振內只有一片按一定軸向切割的石英晶體薄片,供接入運放 或微處理器的xtal端 以...

arm學習筆記 時鐘(s3c2451)

主鎖相環mpll作為系統時鐘的參考時鐘 輔助鎖相環epll作為特殊的功能塊的參考時鐘 mpll的配置方法 om暫存器配置為0,則時鐘源為xtl,配置為1,則時鐘源為外部時鐘extclk epll的配置方法 如下圖配置clksrc,clksrc和om暫存器 正常狀況下當改變mpll時,此時會產生一段l...