您的位置 首页 开关

STM32串口装备(根据uC/OS)

在uCOS下,串口配置与不使用uCOS基本相同,但中断处理有些差别。在uCOS下取消了固件库中的stm32f10x_itc文件,去而代之的是app_vect_v5

在uC/OS下,串口装备与不运用uC/OS根本相同,但中止处理有些不同。在uC/OS下取消了固件库中的stm32f10x_it.c文件,去而代之的是app_vect_v5.c.

下面是几个中止处理的函数:

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)//设置中止优先级

只需调用BSP_IntVectSet(),就可以把用户界说的中止处理函数映射到相应的中止进口上了。

值得注意的是在app_vect_v5.c.文件中的中止向量表,只列出了串口1,2,3的中止进口,4,5要自己增加,不然不会发生中止。

还有在串口1,2,3的装备中,不调用以下代码设置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中假如履行以上代码就不会发生中止。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/263416.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部