二、**函式實現的中斷機制:
在**函式中,由使用者自己定義中斷處理函式傳遞給外設api,當中斷被觸發時,這些函式被底層驅動函式直接呼叫。由於**函式是執行在中斷函式前後,所以**函式必須要能夠迅速返回才可以保證不延遲程式執行時間。相對來說,佇列函式有時候更加適合,它的中斷處理並不是發生在中斷前後。在官方 jn-rm-2001-integrated-peripherals-api-2v3.pdf 中有很多暫存器**函式的詳細說明。
這兩種中斷處理機制的區別:
是必須被呼叫的,這個函式用來初始化事件佇列應用介面。
是必須被呼叫的,不使用的引數設定為null,這個呼叫必須保證中斷向量表的初始化正確,所有的**函式都要被寄存,當中斷發生時呼叫此函式,寄存乙個**函式可以通過乙個以暫存器**函式的中斷處理函式的指標來完成:
這裡以指向 vdiointerruptcallback()的指標作為**函式的引數,vdiointerruptcallback()完成的是中斷處理,中斷處理無返回值,有兩個引數:
一旦中斷發生,中斷源通過masks 對照協議棧提供的資訊來確定,如設別id號(uint32 u32device)和乙個訊息位( uint32 u32itembitmap)。
如上**功能是判斷中斷是否來自dio9,系統控制器(e_ahi_device_sysctrl)處理來自比較器,喚醒器和dio產生的中斷,中斷源通過對比訊息位(u32itembitmap)
和dio9 mask( e_ahi_dio9_int))來確定。
r語言筆記 jn
get range function data name row name test1 get range a,2 print test1 注意此段 函式內有物件a,此時需傳入物件也為a才可以執行,即可以傳入外部資料 print 0 a c a b c d b balabala a b c d tr...
HDU5139 Formula 找規律 離線處理)
problem description f n i 1nin i 1 1000000007 you are expected to write a program to calculate f n when a certain n is given.input multi test cases ab...
JN 0017 在當前目錄執行CMD
執行npm的時候,每次都要cd到目錄,很麻煩,所以總結了三種在當前目錄下直接開啟cmd視窗的方法,供以後開發時參考,相信對其他人也有用。在當前目錄按住shift再右鍵。會看到右鍵選單裡有乙個 在此處開啟命令視窗 選項,點選即可。也可以用快捷鍵操作 shift 右鍵 按w鍵 按enter鍵。這種方法是...