久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: STM系列(7)--STM32 上 RTOS 的中斷管理 [打印本頁]

作者: 小融1號    時間: 2017-2-20 16:05
標題: STM系列(7)--STM32 上 RTOS 的中斷管理


一. 中斷管理體系

圖1  STM32 的中斷服務


本文以STM32F1,F2,F3,F4 為例(采用Cortex-M3,M4 內核),內核支持中斷嵌套(最多可設置 256 個中斷優先級)。STM32 只使用其中的16 個優先級。


如圖 1 所示,RTOS 一般不會將優先級分組,但是會設置為 3 類,優先級最低的中斷(級別 15)由 SysTick,PendSV 所使用; 中斷級別8~14 的服務程序可以調用內核提供的進程間通信函數,但是此 類中斷服務程序會受到內核的影響,中斷響應可能被 推遲(在進入臨界區后,CPU 會設置為忽略為 8~15 的優先級中斷請求,但中斷控制器會鎖存這些請求,在告別臨界區后重新 打開中斷便可立即產生 中斷請求);級別0~7 的中斷服務程序不使用內核提供的任何函數,即內核不會影響這些中斷,因此 其中斷延遲時間是非常短的。


  

. 中斷延遲的實例

  

1.

初始化GPIO PA0 為EXTI 中斷,進入臨界區后按PA0(中斷源),中斷不會即時響應,離開臨界區 后此中斷會被響應。

/* 配置 PA0 為 EXTI 中斷 */
EXTILine0_Config();
CPU_SR_Save(); // 進入臨界區
for (i=0;i<200;i++)
{
for (j=0;j<50000;j++);
}
CPU_SR_Restore(); //離開臨界區

臨界區實現如下,此臨界區實現屏蔽掉所有中斷優先級的中斷,注意在M3/M4 內核下,可以屏蔽一定 級別的中斷。

__asm void CPU_SR_Save(void)
{ M
RS R0, PRIMASK ; Set prio int mask to mask all (except faults)
CPSID I
BX LR
}
__asm void CPU_SR_Restore(void)
{
MSR PRIMASK, R0
BX LR
}

融創芯城與ST建立倉儲物流合作,亞太區ST MCU開發工具,融創芯城獨家負責倉儲、發放!親,這樣實力雄厚的企業,它的拉人注冊享豪禮,你還猶豫什么?抓緊拉人注冊,享受做小股東的樂趣!!


三.FreeRTOS 下的設置

FreeRTOSConfig.h 中

#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY        0xf
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY   8

文章來源:微信公眾號   融創芯城(一站式電子元器件、PCB、PCBA購買服務平臺,項目眾包平臺,方案共享平臺)



作者: xdzys2008    時間: 2018-4-25 15:46
很多平臺跑FreeRTOS系統的都用USB接口芯片如SR9700/SR9800來實現網絡功能~分享一下~




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 在线伊人网 | 日韩视频二区 | 中文字幕亚洲一区 | 日本在线免费 | 美女福利视频 | 麻豆av免费观看 | 欧美伦理一区二区 | 日韩国产精品一区二区 | 日本免费在线观看 | 日韩天堂在线 | 蜜臀久久99精品久久久久宅男 | 亚洲一区久久 | 国产美女免费 | 亚洲精品www久久久久久广东 | 男女视频免费 | 免费在线成人 | 精品99视频| 色一情一乱一乱一区91av | 狠狠干狠狠干 | 97在线免费观看视频 | 久草网站 | jlzzjlzz欧美大全 | 亚洲第一黄网 | 91视频在线看| 亚洲视频免费 | 欧美在线亚洲 | 亚洲 欧美 综合 | 亚欧在线观看 | 一本一道久久a久久精品蜜桃 | 国产白丝精品91爽爽久久 | 黄色片中文字幕 | 黄色一极片 | 伊人久久久久久久久久 | 国产精品美女久久久 | 日韩精品免费一区二区夜夜嗨 | 色爽av| 国产精品成人免费一区久久羞羞 | 国产精品美女毛片真酒店 | 日韩一区二区三区在线播放 | 国产欧美另类 | 欧美bbb|