新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32+IAR+uC/OS環境下怎樣寫中斷程序

        STM32+IAR+uC/OS環境下怎樣寫中斷程序

        作者: 時間:2016-11-21 來源:網絡 收藏
        先說說,幾個關鍵函數:
        bsp_int.c提供幾個關鍵的中斷操作函數:
        voidBSP_IntDis(CPU_DATAint_id)//關閉指定中斷
        voidBSP_IntDisAll(void)//關閉所有中斷
        voidBSP_IntEn (CPU_DATAint_id)//使能指定中斷
        voidBSP_IntVectSet (CPU_DATAint_id,
        CPU_FNCT_VOIDisr)//用這個函數把用戶編寫的中斷函數的首地址放在中斷入口處.
        中斷發生后,系統調用用戶中斷函數.
        voidBSP_IntPrioSet(CPU_DATAint_id,
        CPU_INT08Uprio)//設置中斷優先級

        實例說明如何用上面的函數:
        在app_vect-v5.c中編寫串口1中斷服務函數:static voidBSP_IntHandlerUSART1 (void)

        執行以下三個函數完成串口1中斷配置:
        BSP_IntVectSet(BSP_INT_ID_USART1, BSP_IntHandlerUSART1);
        BSP_IntPrioSet(BSP_INT_ID_USART1,1);
        BSP_IntEn(BSP_INT_ID_USART1);

        使用uC/OS編寫中斷函數和使用STM32硬件函數庫編寫中斷函數是不同的,個人推薦使用uC/OS提供的函數編寫中斷。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 城口县| 武冈市| 桓台县| 会泽县| 宣威市| 垣曲县| 永兴县| 顺平县| 莱州市| 清流县| 普宁市| 思茅市| 高雄县| 建水县| 剑河县| 重庆市| 开平市| 屏南县| 潞城市| 闻喜县| 香格里拉县| 西城区| 古蔺县| 蚌埠市| 哈密市| 青阳县| 酉阳| 莱州市| 漾濞| 三亚市| 观塘区| 湖州市| 许昌市| 平安县| 永和县| 乌拉特中旗| 桃江县| 秭归县| 郧西县| 昌乐县| 新郑市|