datasheet

关于STM32函数定义

2019-04-16来源: eefocus关键字:STM32  函数定义  变量

1.*(__IO uint8_t *) CIR_BYTE3_ADDRESS


#define     __IO    volatile             /*!< Defines 'read / write' permissions    


声明    volatile ,目的:使编译器不优化该变量。从相应变量内存中取数。


  /* Check the parameters */

  assert_param(IS_TIM_ALL_PERIPH(TIMx));  //assert _param函数作参数检查用


2.   static:


static局部变量中文名叫静态局部变量。它与普通的局部变量比起来有如下几个区别:


1)位置:静态局部变量被编译器放在全局存储区.data(注意:不在.bss段内,原因见3)),所以它虽然是局部的,但是在程序的整个生命周期中存在,调用完毕后需要手动释放内存空间。


2)访问权限:静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程序的整个生命周期中存在,由于它是static的,它不能被其他的函数和源文件访问。


3)值:静态局部变量如果没有被用户初始化,则会被编译器自动赋值为0,以后每次调用静态局部变量的时候都用上次调用后的值。这个比较好理解,每次函数调用静态局部变量的时候都修改它然后离开,下次读的时候从全局存储区读出的静态局部变量就是上次修改后的值。


3.    extern  外部变量声明


作全局变量用,在本文件中    int  j;


   外部文件声明:  extern      int j;


4.typedef 的应用(有参数类型检查功能)


typedef unsigned          char uint8_t;

typedef unsigned short     int uint16_t;

typedef unsigned           int uint32_t;

typedef unsigned       __INT64 uint64_t;


5.define的应用


#define SYSTEM_SUPPORT_OS        0       //用   SYSTEM_SUPPORT_OS 代替    0


define语句的特点:对参数不做任何检查,在函数编译时就直接有效


关键字:STM32  函数定义  变量

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/ic458838.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32类型定义
下一篇:说说STM32的堆栈与内存

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32复习笔记(十四)DAC数/模转换

一、STM32 DAC局限性:只有大容量的STM32F10x才具有DAC功能,所以正点原子所有STM32开发板均具有DAC功能。STM32的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。二、STM32的DAC模块主要特点有:① 2个DAC转换器:每个转换器对应1个输出通道② 8位
发表于 2019-06-27
STM32复习笔记(十四)DAC数/模转换

STM32复习笔记(十五)红外遥控

一、红外遥控器介绍:红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。红外遥控的编码目前广泛使用的是:NEC Protocol 的PWM(脉冲宽度调制)和PhilipsRC-5 Protocol 的PPM(脉冲位置调制)。二、红外遥控器和红外接收头外形:接收头: OUT , GDN, 3.3V三、NEC协议特征:①8位地址和8位指令长度;② 地址和命令2次传输(确保可靠性)③ PWM脉冲宽度调制,以发射红外载波的占空比代表“0”
发表于 2019-06-27
STM32复习笔记(十五)红外遥控

STM32复习笔记(十六)MPU6050六轴传感器

运动处理器,即DMP,并且,InvenSense提供了一个MPU6050的嵌入式运动驱动库,结合MPU6050的DMP,可以将我们的原始数据,直接转换成四元数输出,而得到四元数之后,就可以很方便的计算出欧拉角,从而得到yaw、roll和pitch。    使用内置的DMP,可以大大简化代码设计,MCU不用进行姿态解算过程,大大降低了MCU的负担,从而有更多的时间去处理其他事件,提高系统实时性。    InvenSense提供的MPU6050运动驱动库是基于MSP430的,我们需要将其移植一下,才可以用到STM32上面。官方原版驱动在光盘à增值资料àALIENTEK 产品资料
发表于 2019-06-27
STM32复习笔记(十六)MPU6050六轴传感器

STM32串口——5个串口的使用方法

串口是我们常用的一个数据传输接口,STM32F103系列单片机共有5个串口,其中1-3是通用同步/异步串行接口USART(Universal Synchronous/Asynchronous Receiver/Transmitter),4,、5是通用异步串行接口UART(Universal Asynchronous Receiver/Transmitter)。配置串口包括三部分内容:1.  I/O口配置:TXD配置为复用推挽输出(GPIO_Mode_AF_PP),RXD配置为浮空输入(GPIO_Mode_IN_FLOATING);2.  串口配置:波特率等;3.  中断向量配置:一般用中断方式接收
发表于 2019-06-27
STM32串口——5个串口的使用方法

基于stm32C8T6的红外遥控器制作

此程序是根据正点原子stm32f1系列  PWM输出实验  改编而来。关于红外通信的原理这就不再赘述,大家可百度,资料很多。也可以参考http://blog.csdn.net/wujiangguizhen/article/details/11966167我这里就主要讲讲我在改写时遇到的困难。首先,关于载波:载波的产生是这个实验的关键,在这里载波就是用定时器产生一个38KHZ的pwm输出。红外接收器对于38KHZ的红外信号灵敏度最高。在这里,当红外发射管以38KHZ的频率发射红外线时,接收端接收到红外线,并自动解码,此时红外接收器的电平为低(初始值为高电平,即没有接收到信号的状态)。对于NEC红外编码,要发送数据
发表于 2019-06-27

基于STM32的学习型通用红外遥控设备的设计实现

CPU: STM32调试平台: STM32F103ZET和STM32F103VBT软件平台: Keil uVision4电路设计: Altium Designer v6.9二、学习型红外遥控设备的各个模块实现2.4 红外脉宽存储及FLASH的读写根据STM32型号的不同,FLASH容量由16K到1024K不等。FLASH模块主要由三部分组成:主存储器、信息块、闪存存储器接口寄存器。FLASH模块组织:详细内容见《STM32中文参考手册》小节《2.3.3 嵌入式闪存》。主存储器用来存放代码和数据常数,对于大容量产品,划分为256页,每页2K字节;中小容量产品每页则是1K。信息块的启动程序代码用来存储ST自带的启动程序,用于串口下载
发表于 2019-06-27
基于STM32的学习型通用红外遥控设备的设计实现

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved