STM32小积累(1)
2015-11-26 11:59
162 查看
1、CPU_IntDis();
原型:void CPU_IntDis (void);
作用:关闭CPU中断(即禁止CPU中断)
备注:这其实就代码临界段:“代码的临界段也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。”比如,在一个任务里面有一个全局变量,如果在对这个全局变量赋完值,这时有中断。系统就会进入中断子程序,当中断子程序执行完成后,系统去检测有无更高优先级任务。如果有就去执行更高优先级任务去了,如果这个任务里面又有对这个变量的操作,等这个任务完成后。这时程序又回到以前的任务,这个全局变量已被刚才更高优先级任务改变,这样系统就出现问题了。
2、GPIO的八钟模式
3
端口配置低位寄存器(GPIOx_CRL)(x = A ... E)
端口配置高位寄存器(GPIOx_CRH)(x = A ... E)
端口输入数据寄存器()
4 STM32开关总中断
使用库函数
NVIC_SETFAULTMASK(); //关闭总中断
NVIC_RESETFAULTMASK();//开放总中断
直接指令
asm("CPSID I"); //关中断
asm("CPSIE I"); //开中断
原型:void CPU_IntDis (void);
作用:关闭CPU中断(即禁止CPU中断)
备注:这其实就代码临界段:“代码的临界段也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。”比如,在一个任务里面有一个全局变量,如果在对这个全局变量赋完值,这时有中断。系统就会进入中断子程序,当中断子程序执行完成后,系统去检测有无更高优先级任务。如果有就去执行更高优先级任务去了,如果这个任务里面又有对这个变量的操作,等这个任务完成后。这时程序又回到以前的任务,这个全局变量已被刚才更高优先级任务改变,这样系统就出现问题了。
2、GPIO的八钟模式
typedef enum { GPIO_Mode_AIN = 0x0, /* 模拟输入,接收模拟量(电压值)一般用于AD采集 */ GPIO_Mode_IN_FLOATING = 0x04, /* 浮空输入,复位后的状态 */ GPIO_Mode_IPD = 0x28, /* 下拉输入,这里的下拉是指单片机内部的电阻 */ GPIO_Mode_IPU = 0x48, /* 上拉输入,这里的上拉是指单片机内部的电阻 */ GPIO_Mode_Out_OD = 0x14, /* 开漏输出 */ GPIO_Mode_Out_PP = 0x10, /* 推挽输出 */ GPIO_Mode_AF_OD = 0x1C, /* 复用开漏输出 */ GPIO_Mode_AF_PP = 0x18 /* 复用推挽输出 */ }GPIOMode_TypeDef;
3
端口配置低位寄存器(GPIOx_CRL)(x = A ... E)
端口配置高位寄存器(GPIOx_CRH)(x = A ... E)
端口输入数据寄存器()
4 STM32开关总中断
使用库函数
NVIC_SETFAULTMASK(); //关闭总中断
NVIC_RESETFAULTMASK();//开放总中断
直接指令
asm("CPSID I"); //关中断
asm("CPSIE I"); //开中断
相关文章推荐
- [IIS] 不能加载类型System.ServiceModel.Activation.HttpModule
- 序列化对象到文件
- haproxy + rabbitmq + keepalived的高可用环境搭建
- Node.js开发者必须熟悉的四个JavaScript概念
- WebService SOAP、Restful和HTTP(post/get)请求区别
- mpls代码位置
- LA 3695 Distant Galaxy(扫描线)
- python
- solr的or查询
- Mac下利用Cordova打包 iOS App以及出现的问题
- [知其然不知其所以然-11] turbo功能如果没有在所有的cpu上都使能会怎么样?
- Android屏幕适配全攻略(最权威的官方适配指导)
- sql server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件
- SimpleAdapter真不简单!
- C语言中简单的循环
- springMVC 一些文章
- Oracle索引
- 实现带快速导航的ListView(自定义View和自定义ViewGroup的结合),可直接使用和修改使用
- Abp Application级别的生命周期
- REST API权限集成设计