stm32 ucos中断函数怎么写

 我来答
疯狂的贤者
2015-09-01 · TA获得超过641个赞
知道小有建树答主
回答量:343
采纳率:0%
帮助的人:540万
展开全部

要打开某个中断函数(usart1为例)先要        

BSP_IntVectSet  (BSP_INT_ID_USART1 , USART_ISR);
BSP_IntEn (BSP_INT_ID_USART1);


这里USART_ISR就是你的中断处理函数
我的原型函数是
(void)USART_ISR(void)
{}

os中的isr();应该是一个函数指针,指向你的中断处理函数
static  void  BSP_IntHandler (CPU_DATA  int_id) 
这个函数是进入中断前的一些必要的内核处理,他告诉内核你现在要进入中断了,不要XXX等,然后调用isr()进入你的中断函数,最后OSIntExit();   告诉内核你现在退出中断了可以XXX了,里面的东西不要改动,你就写好你的中断函数USART_ISR()就好了
就像这样

void USART_ISR(void)
{
         unsigned char i=0;
        if  (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) {     
           i=USART_ReceiveData(USART1);
         }
}

附上关中断函数         BSP_IntDis (BSP_INT_ID_USART1);

到bsp_init.c这个文件查看一下原型就知道得差不多了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式