新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 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ù)映射到相應(yīng)的中斷入口上了。

        值得注意的是在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)閉
        主站蜘蛛池模板: 福建省| 通渭县| 弋阳县| 布拖县| 章丘市| 老河口市| 那曲县| 绥德县| 定结县| 富民县| 南雄市| 安丘市| 满洲里市| 家居| 宁津县| 扶沟县| 屯门区| 醴陵市| 高碑店市| 鹤岗市| 九寨沟县| 五莲县| 施甸县| 阿拉善盟| 沾化县| 张掖市| 木里| 大港区| 福建省| 会泽县| 望谟县| 阿合奇县| 搜索| 永济市| 霸州市| 尉犁县| 弥渡县| 江门市| 常州市| 伽师县| 安宁市|