1樓:網友
這個程式的意思是 先檢視定時器1是否有中斷請求,如果有請求就開啟定時器1的中斷。
分析如下:intpnd是中斷掛起暫存器,它的每一位都對應著一箇中斷,如果某一位寫1,就表示這個中斷提出請求,0表示無情求。由於不知道你這個是arm7還是arm9,分別說一下吧,arm7中定時器1在intpnd暫存器中對應的位置是第12位,所以bit_timer1的值是(1<<12),即第12位為1,剩下的為0.
在arm9中bit_timer1的值是(1<<11),即第11位為1,剩下的為0.
if(rintpnd&bit_timer1)的意思就是檢視定時器1是否發出請求。如果有請求,就將srcpnd的對應的位蔽碧置置1.
rintmsk&=~bit_timer1);
intmsk是中鬧喊斷遮蔽暫存器,也是每一位都對應一箇中斷,如果某一位是1,表示遮蔽這個中斷,如果是0表示允許中斷,也就是你說的開中斷。所以這句**就是將定時器1對應的位置0.開這一位的液並野中斷。
有什麼地方不明白繼續叫我~~~呵呵。
2樓:網友
一定是在關聯檔案或標頭檔案中有定義。
可以用右鍵 選擇 找到定義處。
你試試。
ucos ii和arm中斷中的巨集定義?
3樓:網友
你用的是lpc系列的晶元吧。中斷髮生後,首先執行位址0x18處的指令。這個指令你沒有給出來,但應該就是將pc指標指向cpu中斷控制器上儲存的中斷**位址,具體這個位址指向什麼函式要看你中斷控制器上怎麼配置的,就你給出的**來看,這個位址應該就是irq_handler或者timer0_handler。
也就是執行irq_handler或者timer0_handler函式,irq_handler和timer0_handler是通過handler這個巨集來建立的。
handler這個巨集的流程簡單來說就是:儲存現場-執行中斷服務程式-恢復現場。中斷服務程式即巨集的輸入引數:irq_exception、timer0_exception。
這句什麼意思?arm
4樓:網友
這個可以對應資料手冊看,模式的選擇就是設定register對應該螞粗埋的位悶螞,adcr&0xffffff00是把adcr的高24位保留,低8位清0,再與0x80或運算,即是第8位置1,再與(1<<24)或即是第25位置1,這個看下c語凳蘆言的位運算就都能明白了。
做嵌入式開發的語言
5樓:浩海鑲桃
嵌入式當然是c和c++了,因為現在所有的嵌入式處理器都提供c語言的編譯器。
6樓:
絕大多數使用c語言進行嵌入式開發,因為c語言便於程式的開發移植而且接近底層語言,有良好的效率。如果你做的離底層硬體較近,那麼熟悉彙編將對你的開發有益,因為啟動**一般都是由彙編寫成的,另外匯編也有助於理解硬體。
7樓:網友
c和c++ 搞底層的用匯編。
關於arm中斷的c語言問題
8樓:網友
pisr_eint8_23=(u32)key_handler;這1句是安裝中斷變數吧,也就是把key_handler函式的位址存入中斷向量陣列,以便中斷產生時呼叫key_handler函式。
9樓:
我記得中斷函式不能有返回值的吧。。忘記了。
arm中的ble語句的含義
10樓:網友
這個前面的語句具體是:更新了標誌暫存器的語句。
arm中的條件跳轉都是根據標誌暫存器來判斷的。
比如有add和adds的區別,後面的就是更新了標誌暫存器的。
arm中斷程式
11樓:網友
就是讀出 vicirqstatus的值,可以去掉此句的。
用arm7做流水燈的設計,用arm7做一個流水燈的設計。
從原理圖可以看出,如果我們想讓接在p1.0口的led1亮起來,那麼我們只要把p1.0口的電平變為低電平就可以了 相反,如果要接在p1.0口的led1熄滅,就要把p1.0口的電平變為高電平就可以 同理,接在p1.1 p1.7口的其他7個led的點亮和熄滅方法方法同led1。因此,要實現流水燈功能,我們...
說或幾個關於環保的小詩,說一個或幾個關於環保的小詩
保護環境詩 原創 垃圾不可隨手丟,廢物不可隨處排,綠化不可亂破壞 水電資源要珍惜,廢物利用要懂得 花草樹木多種植 攜手共建好家園 保護環境起做起。環境保護詩人類生存的地球,今年環境遭汙染。要查問題的根源,主要工業城市建。煙囪高高冒黑煙,有害氣體排上天。汙水亂排流四邊,江 河 湖 海都被染。臭氣直衝大...
一個SQL語句的簡單問題,sql語句的問題?
select from student inner join sc on inner join course on where 課程1 and 課程2 回的 汗 怎麼不對?可記為 course cno,cname,cpno,ccredit cno為關鍵字。另外 要是樓主用的資料庫是sql serve...