STM32变量类型定义及延伸

发布者:EnchantedBreeze最新更新时间:2019-01-14 来源: eefocus关键字:STM32  变量类型 手机看文章 扫描二维码
随时随地手机看文章

注意:数据的运算可能会超过变量定义的类型 ,所以定义变量时要注意!


STM32F4内的变量类型定义:在stdint中


    /* exact-width signed integer types */

typedef   signed          char int8_t;

typedef   signed short     int int16_t;

typedef   signed           int int32_t;//在32位环境里,int代表4个字节32位

typedef   signed       __INT64 int64_t;

 

    /* exact-width unsigned integer types */

typedef unsigned          char uint8_t;

typedef unsigned short     int uint16_t;

typedef unsigned           int uint32_t;

typedef unsigned       __INT64 uint64_t;

 

    /* 7.18.1.2 */

 

    /* smallest type of at least n bits */

    /* minimum-width signed integer types */

typedef   signed          char int_least8_t;

typedef   signed short     int int_least16_t;

typedef   signed           int int_least32_t;

typedef   signed       __INT64 int_least64_t;

 

    /* minimum-width unsigned integer types */

typedef unsigned          char uint_least8_t;

typedef unsigned short     int uint_least16_t;

typedef unsigned           int uint_least32_t;

typedef unsigned       __INT64 uint_least64_t;

 

    /* 7.18.1.3 */

 

    /* fastest minimum-width signed integer types */

typedef   signed           int int_fast8_t;

typedef   signed           int int_fast16_t;

typedef   signed           int int_fast32_t;

typedef   signed       __INT64 int_fast64_t;

 

    /* fastest minimum-width unsigned integer types */

typedef unsigned           int uint_fast8_t;

typedef unsigned           int uint_fast16_t;

typedef unsigned           int uint_fast32_t;

typedef unsigned       __INT64 uint_fast64_t;

 

    /* 7.18.1.4 integer types capable of holding object pointers */

#if __sizeof_ptr == 8

typedef   signed       __INT64 intptr_t;

typedef unsigned       __INT64 uintptr_t;

#else

typedef   signed           int intptr_t;

typedef unsigned           int uintptr_t;

#endif

 

    /* 7.18.1.5 greatest-width integer types */

typedef   signed     __LONGLONG intmax_t;

typedef unsigned     __LONGLONG uintmax_t;

 

 

#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)

 

    /* 7.18.2.1 */

 

    /* minimum values of exact-width signed integer types */

#define INT8_MIN                   -128

#define INT16_MIN                -32768

#define INT32_MIN          (~0x7fffffff)   /* -2147483648 is unsigned */

#define INT64_MIN  __INT64_C(~0x7fffffffffffffff) /* -9223372036854775808 is unsigned */

 

    /* maximum values of exact-width signed integer types */

#define INT8_MAX                    127

#define INT16_MAX                 32767

#define INT32_MAX            2147483647

#define INT64_MAX  __INT64_C(9223372036854775807)

 

    /* maximum values of exact-width unsigned integer types */

#define UINT8_MAX                   255

#define UINT16_MAX                65535

#define UINT32_MAX           4294967295u

#define UINT64_MAX __UINT64_C(18446744073709551615)

 参考:https://blog.csdn.net/f1engmin11/article/details/70946471  和上述库文件中的一致


关键字:STM32  变量类型 引用地址:STM32变量类型定义及延伸

上一篇:stm32F4XX之独立看门狗 HAL库
下一篇:STM32堆栈大小及位置

推荐阅读最新更新时间:2024-03-16 16:22

STM32 中断使用
STM32中断有时候用多了容易乱,特此记录一下,因为之前一直是M3 M0交叉用,固件库有些区别容易弄混,这里说一下M3外部中断的配置 步骤: 1.将对应的IO配置为输入 2.将IO对应的中断的优先等级用NVIC配置好 3.设置好对应IO的中断模式和触发方式 4.将IO所属的中断线设为中断输入源 1---------以PB5为例子 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_Init(G
[单片机]
STM32的断言机制——函数assert_param()
我们在学STM32的时候函数assert_param出现的几率非常大,上网搜索一下,网上一般解释断言机制,做为程序开发调试阶段时使用。 下面我就谈一下我对这些应用的看法,学习东西抱着知其然也要知其所以然。 我们在分析库函数的时候,几乎每一个函数的原型有这个函数assert_param(); 下面以assert_param(IS_GPIO_ALL_PERIPH(GPIOx));为例说一下我的理解, 函数的参数IS_GPIO_ALL_PERIPH(GPIOx),我们可以寻找到原型 #define IS_GPIO_ALL_PERIPH(PERIPH) (((*(uint32_t*)&(PERIPH)) == GPIOA_
[单片机]
<font color='red'>STM32</font>的断言机制——函数assert_param()
STM32高级开发(1)-开源是什么
开源的历史及简介 在上个世纪计算机发展的早期阶段,软件几乎都是开放的,任何人使用软件的同时都可以查看软件的源代码,或者根据自己的需要去修改它。在程序员的社团中大家互相分享软件,共同提高知识水平。这种自由的风气给大家带来了欢乐,也带来了进步。 但不久之后,以微软为主的一些商业公司就破坏了这种风气。这些商业公司从自由的计算机社团里雇佣了大量的技术高手,开发带有知识产权保护的专有软件。他们在分发软件的时候也不再附带源代码。从此,专有软件的时代到来了。直到现在,专有软件不公开源代码仍是默认的行业潜规则。 即使这样,崇尚自由的斗士们也没有妥协。他们认为,数字时代本应是自由的,任何人都可以自由的获取软件资源及其源代码,而不应该被少数
[单片机]
<font color='red'>STM32</font>高级开发(1)-开源是什么
STM32 F4 从bootloader跳转用户代码遇到的问题
代码跳转后运行用户程序遇到的问题: DMA2_Stream3_IRQHandler DMA2_Stream4_IRQHandler ETH_IRQHandler ETH_WKUP_IRQHandler CAN2_TX_IRQHandler CAN2_RX0_IRQHandler CAN2_RX1_IRQHandler
[单片机]
STM32开发 -- GPIO详解
之前有简单讲过GPIO工作模式和寄存器,还是有点没搞明白。这次需要全方位的看一下了。 一、数据手册 1、STM32F105RC引脚说明 可知:STM32F105RC 一共有4组IO口 一共16X3+3=51个IO GPIOA0~A15 GPIOB0~B15 GPIOC0~C15 GPIOD0~D2 2、程序定义 GPIO端口号 STM32F105RC使用GPIO端口号为:GPIOA、GPIOB、GPIOC、GPIOD #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) #define GPIO
[单片机]
<font color='red'>STM32</font>开发 -- GPIO详解
STM32 内部FLASH读写操作
关于STM32内部FLASH读写操作 单片机程序flash对应的内部地址。 falsh内部128bytes为一页,32页一个扇区。为了不会破坏到程序一般我们把要存的数据放后面,或者放到最后一页,来读取保存。STM32程序起始地址一般为0x08000000。 2.读取数据 //faddr 要读取的地址 uint16_t STMFLASH_ReadHalfWord ( uint32_t faddr ) { return *(__IO uint16_t*)faddr; } uint16_t STMFLASH_Read (uint32_t Addr ) { uint16_t Date =
[单片机]
STM32 Cubemax(十二) ——利用状态机实现按键的长短按和双击
前言 状态机是一种根据当前状态来执行相应动作,根据输入去改变状态的方法,出处应该在数字电路中。 我们利用状态机的思想来实现按键的消抖和一些其他功能的实现 一、状态图 我们的按键实验,就是以此状态图为基础,然后做延申,实现长短按和双击。 二、Cubemax配置 1、IO口配置 这个配置很简单,看自己的板子上按键的IO口是哪个,我这里以KEY0做演示 配置PH3为输出IO,而且由电路图可知,应该设置为上拉。 2、定时器配置 我们需要配置一个10ms的定时器,以10ms去检测按键的状态 三、代码 1、编写有关按键的结构体和定义相关参数 #define IOSTATE HAL_GPIO_ReadPin(GPI
[单片机]
<font color='red'>STM32</font> Cubemax(十二) ——利用状态机实现按键的长短按和双击
意法半导体STM32系列两周年再添新丁
意法半导体在STM32系列微控制器两周年生日之时,宣布基于ARM Cortex™-M3处理器的STM32互联系列(Connectivity Line)微控制器已全面投产,新产品如预期准时上市。自此,意法半导体STM32家族已拥有包括基本型、USB基本型、增强型以及互联型四个产品线,70个型号的产品引脚与功能相互兼容。 STM32互联系列让设计人员可以在同时需要以太网、USB、CAN和音频级I2S接口的产品设计中发挥工业标准的32位微处理器的优异性能。目前互联系列下设两个产品系列:STM32F105和 STM32F107。STM32F105系列集成一个全速USB 2.0 Host/Device/OTG接口和两个具有先进
[单片机]
意法半导体<font color='red'>STM32</font>系列两周年再添新丁
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved