#define CLI() __set_PRIMASK(1) //关闭总中断
#define SEI() __set_PRIMASK(0) //打开总中断
__set_PRIMASK()在V3.5.0库中的core_cm3.h中,定义如下
static __INLINE void __set_PRIMASK(uint32_t priMask)
{
register uint32_t __regPriMask __ASM("primask");
__regPriMask = (priMask);
}
关键字:STM32F103 固件库 总中断
引用地址:
STM32F103对于固件库V3.5.0打开和关闭总中断
推荐阅读最新更新时间:2024-03-16 16:21
STM8S 固件库GPIO设置问题
ST对STM8S系列都有提供固件库,而不同的版本自然存在一些不同,版本也一直从V1.0.0升级到目前的V1.1.1。 环境: FWLIB V1.0.1版本,采用STM8SF103 在使用GPIO库时,一个偶然发现stm8s_gpio.h中的宏定义是存在问题的。 代码定义如下: ****************************************************************************** * @file stm8s_gpio.h * @brief This file contains all functions prototype and macros for the
[单片机]
STM32F103C8T6最小系统地的构建(3)_时钟源电路-晶振
最小系统板要有处理器这是肯定的,既然我标题都是STM32F103C8T6的最小系统,那处理器就是C8T6了,电路图上,加一块芯片原理图,如此简单的操作就不做过多描述了。 系统是需要有时钟,这样,你的系统跑起来会稳定有序。STM32内部自身就有三个时钟源,这个看过32手册时钟树的都会有一定的了解,在32芯片的时钟树中需要有五个时钟源,我们需要布置的便是外部高速时钟和外部低速时钟。 我们讲硬件电路布置,32时钟树的的时钟讲解你们可以参考其他人的一些讲解性文章。硬件上需要了解的知识有两个,外部时钟源怎么和MCU相连,外部时钟源给多大? 这个都不是什么非常难找的,网上资料还是有很多的,查阅资料: 高速外部时钟,可接石英/陶
[单片机]
STM32F103学习笔记(二) 创建工程模板+点亮LED+蜂鸣器
捣鼓了几天,终于点亮led了,那个欣慰啊。。。 至于建立工程模板,对于我这种小白来说确实不容易上手,捣鼓了好久,不是忘记添加.c文件,就是忘记加入头文件的路径(头文件的路径千万要是英文)。其实模板建立好之后,只需要编写两个文件夹(1)USER,用来编辑主函数的。(2)HADEWARE(硬件)用来配置相关硬件的,eg:包含led.c led.h 后面要用的话,直接在这里边调用就行了。 接下来就是led的点亮和蜂鸣器发出响声了。 对于led,首先上个电路图: 板子上有两个led,DS0和DS1分别接了PB5,PE5,. 重要的是对init(初始化)的配置: span style= font-size:1
[单片机]
使用STM32固件库函数操作控制LED灯(STM32_04)
直接使用寄存器地址来进行STM32开发要对每一个寄存器的地址通过查找芯片手册,对每一个寄存器的各个位的含义也要查清楚,然后决定对那个地址的哪些位进行怎样的设置。这种编程效率低,程序的可移植性差,程序的可读性差。 STM32提供了对外设寄存器操作的功能函数,对寄存器操作只需要调用相应的库函数就可以,一般函数名单词组合与功能密切相关,增强了程序的可读性。 1、以CMSIS固件库项目为基础,在项目文件夹下新增 Lib 文件夹,在 Lib 文件夹下新增 inc 和 src 文件夹,在 inc 文件夹中复制 stm32f10x_gpio.h 和 stm32f10x_rcc.h 两个头文件,在 src 文件夹中复制 stm32
[单片机]
STM32开启和关闭总中断的方法
__set_PRIMASK(1); //关总中断 __set_PRIMASK(0); //开总中断
[单片机]
STM32F103+NRF24L01航模遥控器制作
摇杆数值ADC读取后通过DMA存到数组中,TIM3中断函数中对数据进行处理发送,同时对电池电压进行采集,OLED显示PIT、THR、电压等信息。 #include stm32f10x.h #include sys.h #include i2c.h #include delay.h #include usart.h #include remote.h #include oled0561.h #include ADC_DMA_Config.h #include spi.h #include nrf24l01.h #include TIM.h #include EEPROM.h #include key.h int main(v
[单片机]
μCOS_II移植到STM32F103VC过程
一.μCOS-II源码文件结构介绍 下载地址: https://www.micrium.com/download/micrium_stm32xxx_ucos-ii/ 这个地址下载的时候需要注册Micrium账号才能下载,源码是Micrium官方提供给移植内核ARM Cortex-M3的例子,我们所要移植的STM32F103VC芯片的内核是ARM Cortex-M3,因此我们下载这个源码文件。 下载成功之后是一个Micrium_STM32xxx_uCOS-II.exe可执行文件的压缩文件(图1)需要我们解压缩(图2)得到(图3)。 图1: 图2: 图3: 树形展开结构:
[单片机]
基于数字式电镀电源并联均流系统设计方案
0 引言 STM32系列处理器是由意法半导体ST公司生产、基于ARM公司Cortex-M3内核的MCU,专门为微控制系统、汽车控制系统、 工业控制系统和无线网络等嵌入式应用领域而设计的方案,具有高性能、低功耗、高集成度、丰富且性能出众的片上外设、编程复杂度低等优点。数字式电镀电源并联均流系统以数字通信和控制的方式实现多个电源模块的并联工作,提供更大的输出功率,具有组合灵活、可靠性高、人机接口友善、工作模式多样等优点。本文采用STM32F103VET6处理器作为主控芯片,实现了一种以CAN总线为通信媒介、具有稳压/稳流/安培时/工艺曲线/远程控制5种工作模式、液晶图形显示的数字式电镀电源并联均流系统(以下简称“并联均流
[单片机]