新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > STM32串口配置(基于uC/OS)

        STM32串口配置(基于uC/OS)

        作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
        在uC/OS下,串口配置與不使用uC/OS基本相同,但中斷處理有些差別。在uC/OS下取消了固件庫中的stm32f10x_it.c文件,去而代之的是app_vect_v5.c.

        下面是幾個中斷處理的函數(shù):

        本文引用地址:http://www.104case.com/article/201611/319513.htm

        bsp_int.c提供幾個關(guān)鍵的中斷操作函數(shù):
        voidBSP_IntDis(CPU_DATAint_id)//關(guān)閉指定中斷
        voidBSP_IntDisAll(void)//關(guān)閉所有中斷
        voidBSP_IntEn(CPU_DATAint_id)//使能指定中斷
        voidBSP_IntVectSet(CPU_DATAint_id,
        CPU_FNCT_VOIDisr)//用這個函數(shù)把用戶編寫的中斷函數(shù)的首地址放在中斷入口處.
        中斷發(fā)生后,系統(tǒng)調(diào)用用戶中斷函數(shù).
        voidBSP_IntPrioSet(CPU_DATAint_id,
        CPU_INT08Uprio)//設(shè)置中斷優(yōu)先級

        只要調(diào)用BSP_IntVectSet(),就可以把用戶定義的中斷處理函數(shù)映射到相應的中斷入口上了。

        值得注意的是在app_vect_v5.c.文件中的中斷向量表,只列出了串口1,2,3的中斷入口,4,5要自己添加,否則不會產(chǎn)生中斷。

        還有在串口1,2,3的配置中,不調(diào)用以下代碼設(shè)置NVIC也能正常工作。

        NVIC_InitTypeDef NVIC_InitStructure;
        // Enable the USART1 Interrupt
        NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);*/

        而在串口4,5中如果執(zhí)行以上代碼就不會產(chǎn)生中斷。



        關(guān)鍵詞: STM32串口配置uCO

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 嫩江县| 宜都市| 双流县| 襄樊市| 洪湖市| 宽甸| 利川市| 且末县| 五河县| 乌恰县| 无锡市| 兰溪市| 肥西县| 南昌市| 宝清县| 武平县| 康保县| 宣化县| 呼伦贝尔市| 潢川县| 来安县| 清水河县| 东宁县| 盐池县| 商城县| 松原市| 长宁县| 响水县| 景泰县| 平顶山市| 长治市| 福安市| 习水县| 玉环县| 合山市| 维西| 古浪县| 顺昌县| 安仁县| 钦州市| 宣威市|