日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]按IAR的規(guī)矩中斷向量要加2,如PA口的中斷向量為3,那么在IAR程序中應寫成#pragma vector=0x05。而PD7和PD其他端口不一樣,PD7后面拖了個小尾巴TLI,TLI擁有芯片最高級別中斷,享有獨立專用的中斷向量號0,因此,按IA

按IAR的規(guī)矩中斷向量要加2,如PA口的中斷向量為3,那么在IAR程序中應寫成#pragma vector=0x05。而PD7和PD其他端口不一樣,PD7后面拖了個小尾巴TLI,TLI擁有芯片最高級別中斷,享有獨立專用的中斷向量號0,因此,按IAR的規(guī)矩,向量號加2,程序改成#pragma vector=0x02,而不是PD口的其他中斷號0x08.

另外在STM8L15X.H中 有以下宏定義 

#ifdef _IAR_
#define STRINGVECTOR(x) #x
#define VECTOR_ID(x) STRINGVECTOR( vector = (x) )
#define INTERRUPT_HANDLER( a, b )
_Pragma( VECTOR_ID( (b)+2 ) )
__interrupt void (a)( void )
#define INTERRUPT_HANDLER_TRAP(a)
_Pragma( VECTOR_ID( 1 ) )
__interrupt void (a) (void)
#endif

所以我們在IAR下編寫程序時,無需再關(guān)心向量表,可以如同STVD下自動產(chǎn)生的中斷函數(shù)一樣去寫

INTERRUPT_HANDLER(USART1_RX_TIM5_CC_IRQHandler, 28)

{

}

所以上官移植的stm8l的OS_CPU.A的文件中,TIMER4的中斷接口為27,如下

//TIME4 interrupt25+2
//應該是_interrupt_xx作為匯編定義中斷服務程序入口地址的關(guān)鍵字,對應連接到中斷向量表中;這里的中斷號xx是中斷映射表的中斷向量號+2
PUBLIC _interrupt_27
SECTION `.far_func.text`:CODE:NOROOT(0)
_interrupt_27:
SIM
BRES0x52E5, #0

INT_SAVE_REGS

SAVE_OLD_STK_PTR

CALLFOSIntEnter
CALLFOSTimeTick
CALLFOSIntExit

INT_RESTORE_REGS
END

在這個中斷中,調(diào)用了OSTimeTick,實現(xiàn)任務的切換


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉