STM32F407关闭总中断

我们在写程序的时候,有的器件时序不允许被中断打断,这时候我们就需要在执行某段程序时,先把全部中断都关闭,执行完毕后,再打开。

  由于STM32F407的库函数的版本不同,所以关闭总中断的函数也不相同,这就给我们开发者带来一定的困扰,那么我们此时应该怎么办呢?

  其实在KEIL编程环境中,有一个KEIL专用的关闭/打开总中断的函数,这个函数定义在KEIL中找不到,但是就是可以用;如下:

__disable_irq() ; //关闭总中断
__enable_irq() ; //打开总中断

时间: 2024-10-31 17:53:45

STM32F407关闭总中断的相关文章

DSP2812学习笔记-Flash固化操作

DSPFlashLED以CCS3.3版本为例,介绍下关于DSP2812固化烧写的过程. 1.保证工程在RAM中调试完成: 2.配置好Flash.cmd文件,并加入工程:(CMD文件编写参考 ,Flash.cmd代码见附录1) 3.加入起始代码asm文件DSP281x_CodeStartBranch.asm: 4.配置C文件,并将初始化FLASH中的代码拷贝到RAM中运行:(C文件配置见附录2) 5.重新编译工程: 6.选择工具栏 Tools--F28xx On--Chip Flash Progr

stm8s_atomthread

STM8S Atomthread 实时操作系统移植 介绍 1.嵌入式操作系统基本知识 嵌入性.专用性与计算机系统是嵌入式系统的基本元素:跟通用计算机系统(如windows.linux等)相比,嵌入式系统具备专用性强.可剪裁性好.实时性好和功耗低的特点. 实时操作系统满足条件: 必须是多任务(任务调度或调度器,最核心功能) 任务的切换时间与系统当前任务数无关(调度器对任务切换时间) 中断延时的时间可预知并尽可能短(任务实时性要求,即为CPU对任务响应速度) 目前,实时系统主要类型: 抢占式(剥夺式

DS3231高精度时钟模块,IIC,C51 8051单片机I2C 测试程序 【开源】

实物图 原理图 效果图 程序烧录: /*****************************************************************************  *文件名称:main.c *版    本:Keil uVision4 *控 制 器:STC89C52RC/12M 功能:显示时间到串口 *说    明: 1,DS3231实时时钟模块测试程序  2,1T的单片机用不了 3,晶振12M 4,串口波特率2400 编译结果: Rebuild target 'D

STM32 NVIC配置详解

例程:  /* Configure one bit for preemption priority */  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);    /* Enable the WAKEUP_BUTTON_EXTI_IRQn Interrupt */  NVIC_InitStructure.NVIC_IRQChannel = WAKEUP_BUTTON_EXTI_IRQn;  NVIC_InitStructure.NVIC_IRQCha

Zigbee系列 学习笔记二(工程文件分析)

以下为转载内容,因为学习Zigbee,稍作整理了一下,希望作者不要怪罪. 一.下载ZStack-CC2530.2.5.1a 网址http://download.csdn.net/detail/thanksgining/8328925 下载后: 二.安装ZStack-CC2530.2.5.1a 安装后: Components:顾名思义这个是库文件,里面放了一些ZDO,driver,hal,zcl等库代码 Documents:这个不用说大家都知道是放TI的开发文档的,你能够把这些文档一个个看懂,你对

Zigbee协议栈内核分析 - 按键分析

Zigbee协议栈内核分析 - 按键分析(轮询) Jesse 协议栈按键代码分析 - 思维导图(放大可看) 一.综述 上图从协议栈的 main() 函数开始分析,罗列出了 main()  函数里调用的函数.接下来我们将会对函数一个一个的分析,有关于 key 的函数我将会用黄色方框表示. 二.协议栈代码分析(按照上图逐步分析) 1.osal_int_disable( INTS_ALL );           //关闭总中断 2.HalDriverInit(); 调用 HalKeyInit(); 

stm32之NVIC

非本人原创,转载自http://blog.csdn.net/denghuanhuandeng/article/details/8350392 STM32的NVIC理解 例程:  /* Configure one bit for preemption priority */   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);    /* Enable the WAKEUP_BUTTON_EXTI_IRQn Interrupt */  NVIC_Ini

STM32---NVIV:嵌套中断向量控制器

STM32有43个channel的settable的中断源:AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4 bits.这4个bits用于分配preemption优先级和sub优先级,在STM32的固件库中定义如下/* Preemption Priority Group -------------------------------------------------*/#define NVIC_PriorityGroup_

ZStack-CC2530-2.5.1a主要代码分析总结——明白ZStack-OSAL的原理和思想

一.下载ZStack-CC2530.2.5.1a http://download.csdn.net/detail/thanksgining/8328925 下载后: 二.安装ZStack-CC2530.2.5.1a 安装后: Components:顾名思义这个是库文件,里面放了一些ZDO,driver,hal,zcl等库代码 Documents:这个不用说大家都知道是放TI的开发文档的,你能够把这些文档一个个看懂,你对这个协议栈已经是了如指掌了.里面很多都是讲述协议栈的API的必须读 Proje