新闻  |   论坛  |   博客  |   在线研讨会
stm32中断总中断管理
zhangfazhong | 2011-10-02 13:15:15    阅读:7767   发布文章

好久没来写点东西了,今天来和大家分享一下stm32总中断的控制方法:
//--------------------------------------------------------------------------------
// 函数功能:允许stm32总中断
// 函数入口:
// 函数出口:
// 创建日期:
// 修改记录:
// 函数版本:
// 备    注:
//--------------------------------------------------------------------------------
void STM32_EnableIRQ( void )
{
 __set_PRIMASK(IRQStatus);
}

//--------------------------------------------------------------------------------
// 函数功能:禁止stm32总中断,只允许NMI和hardfault中断
// 函数入口:
// 函数出口:
// 创建日期:
// 修改记录:
// 函数版本:
// 备    注:
//--------------------------------------------------------------------------------
void STM32_DisableIRQ( void )
{
 IRQStatus = __get_PRIMASK();

 // 关闭中断
 asm("CPSID I");
}

//--------------------------------------------------------------------------------
// 总中断控制
//--------------------------------------------------------------------------------
#define OS_ENTER_CRITICAL  STM32_DisableIRQ()  // 进入临界

#define OS_EXIT_CRITICAL  STM32_EnableIRQ()  // 退出临界

以上方法仅提供参考,在使用函数是需要调用固件库core_cm3.c里的函数。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
LanMan(懒人) 让生活变得更懒
最近文章
stm32中断总中断管理
2011-10-02 13:15:15
用AD做键盘
2008-05-28 21:11:58
推荐文章
最近访客