欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7100|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

IAR中STM8中斷向量中斷函數(shù)使用及STM8L的ucos時間調(diào)度

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:75263 發(fā)表于 2015-6-9 03:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
按IAR的規(guī)矩中斷向量要加2,如PA口的中斷向量為3,那么在IAR程序中應(yīng)寫成#pragmavector=0x05。而PD7和PD其他端口不一樣,PD7后面拖了個小尾巴TLI,TLI擁有芯片最高級別中斷,享有獨立專用的中斷向量號0,因此,按IAR的規(guī)矩,向量號加2,程序改成#pragmavector=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,如下
   //TIME4interrupt  25+2
       //應(yīng)該是_interrupt_xx作為匯編定義中斷服務(wù)程序入口地址的關(guān)鍵字,對應(yīng)連接到中斷向量表中;這里的中斷號xx是中斷映射表的中斷向量號+2
       PUBLIC _interrupt_27
       SECTION `.far_func.text`:CODE:NOROOT(0)
_interrupt_27:   
        SIM
        BRES      0x52E5, #0
      
        INT_SAVE_REGS
        
        SAVE_OLD_STK_PTR
               
        CALLF    OSIntEnter
        CALLF    OSTimeTick
        CALLF    OSIntExit
      
        INT_RESTORE_REGS         
        END
在這個中斷中,調(diào)用了OSTimeTick,實現(xiàn)任務(wù)的切換

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表