f2812的c语言与标准c语言,关于F2812中用C语言来实现中断的说明
關于F2812中用C語言來實現中斷的說明
。(略)。注此處用到的所有中斷向量或者說是中斷函數的指針均是在DSP281x_DefaultIsr.c中定義的空函數(指針);(2)用以上PIE_VECT_TABLE結構體常量PieVectTableInit初始化PIE_VECT_TABLE結構體變量PieVectTable/InitPieVectTable:/ThisfunctioninitializesthePIEvectortabletoaknownstate./Thisfunctionmustbeexecutedafterboottime.voidInitPieVectTable(void)int16i;Uint32*Source=(void*)&PieVectTableInit;Uint32*Dest=(void*)&PieVectTable;EALLOW;for(i=0;i128;i+)*Dest+=*Source+;EDIS;/EnablethePIEVectorTablePieCtrl.PIECRTL.bit.ENPIE=1;5.自己的中斷服務程序:用自己定義的中斷函數覆蓋PIE_VECT_TABLE結構體變量PieVectTable中對應的中斷指針即可。PieVectTable.TINT2=&ISRTimer2;那么,ISRTimer2也就成了中斷服務程序,要在主程序的開始先聲明該程序:interruptvoidISRTimer2(void);然后按照您的需要編制該程序:interruptvoidISRTimer2(void)CpuTimer2.InterruptCount+;關于F2812中用C語言來實現中斷的說明(不帶DSP/BIOS)(一)關于F2812中用C語言來實現中斷的說明:1.首先在.cmd中定位系統中斷表:MEMORYPAGE0:.PAGE1:.PIE_VECT:origin=0x000D00,length=0x000100.SECTIONS.PieVectTable:PIE_VECT,PAGE=1.2.在C中制定該中斷的結構體:#pragmaDATA_SECTION(PieVectTable,PieVectTable);structPIE_VECT_TABLEPieVectTable;(在DSP28_GlobalVariableDefs.C中初始化)3.在DSP281x_PieVect.h中定義中斷向量表PIE_VECT_TABLE,共96個成員,每個成員均為void(*PINT)(void),中斷指針型。/PIEInterruptVectorTableDefinition:/CreateausertypecalledPINT(pointertointerrupt):typedefinterruptvoid(*PINT)(void);/DefineVectorTable:structPIE_VECT_TABLE/Resetisneverfetchedfromthistable.Itwillalwaysbefetchedfrom0x3FFFC0in/eitherbootROMorXINTFZone7dependingonthestateoftheXMP/MCinput/signal.OntheF2810itisalwaysfetchedfrombootROM.。(略)。/Non-PeripheralInterrupts:。(略)。/Group12PIEPeripheralVectors:。(略)。;然后定義外部PIE_VECT_TABLE結構體變量PieVectTable:externstructPIE_VECT_TABLEPieVectTable;(在.h文件中)4.在DSP281x_PieVect.c文件中初始化該表使之能夠為主程序所使用:(1)先定義一個PIE_VECT_TABLE結構體常量:conststructPIE_VECT_TABLEPieVectTableInit=。(略)。PIE_RESERVED
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的f2812的c语言与标准c语言,关于F2812中用C语言来实现中断的说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言课本第八章答案,c语言第八章字符串
- 下一篇: stm32f429vref怎么接_STM