历史上的今天
返回首页

历史上的今天

今天是:2025年01月14日(星期二)

正在发生

2019年01月14日 | STM32变量类型定义及延伸

2019-01-14 来源:eefocus

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


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  和上述库文件中的一致


推荐阅读

史海拾趣

Defense Logistics Agency公司的发展小趣事

随着军事现代化的推进,DLA意识到整合与优化供应链的重要性。于是,DLA开始着手整合各个军事部门的后勤系统,实现资源的集中管理和统一调配。通过引入先进的供应链管理技术,DLA大幅提高了物资采购、存储、运输和分发的效率,确保了美军在全球范围内的作战需求得到及时、准确的满足。

Gustav Klauke GmbH公司的发展小趣事

随着军事现代化的推进,DLA意识到整合与优化供应链的重要性。于是,DLA开始着手整合各个军事部门的后勤系统,实现资源的集中管理和统一调配。通过引入先进的供应链管理技术,DLA大幅提高了物资采购、存储、运输和分发的效率,确保了美军在全球范围内的作战需求得到及时、准确的满足。

Ferraz Shawmut(Mersen)公司的发展小趣事

2007年,Ferraz Shawmut收购了美国的General Electric公司的功率熔断器部门。这一收购不仅增强了公司在功率熔断器领域的实力,也进一步巩固了其在电气保护领域的领先地位。通过整合双方的技术和资源,Ferraz Shawmut推出了更多高性能、高品质的电气保护产品。

Dailywell Electronics Co Ltd公司的发展小趣事

1997年3月,德利威电子股份有限公司正式成立,标志着其进入电子行业的起点。凭借创办人超过二十年的研发和生产经验,德利威电子从创立之初就注重产品质量和技术创新。在创立初期,德利威电子即获得了ISO 9002国际标准认证,显示出其对品质管理的高度重视。同时,其各系列产品也迅速通过了美国UL及加拿大CSA产品安规认证,进一步证明了其产品的安全性和可靠性。

Gaomi Xinghe Electronics公司的发展小趣事

背景:在电子产品市场竞争日益激烈的背景下,Galaxy深知技术创新和品质提升的重要性。为了进一步提升产品性能,公司决定寻求与行业顶尖厂商的合作。

行动:Galaxy与瑞士著名散热器厂商“Arctic Cooling”建立了战略合作伙伴关系,共同推出了备受瞩目的影驰GeForce6系列产品。这款产品在散热性能上实现了重大突破,为用户带来了更加稳定、高效的使用体验。

成果:凭借出色的性能和口碑,影驰GeForce6系列产品迅速在市场上走红,不仅巩固了Galaxy在显卡市场的领先地位,还极大地提升了公司在行业内的影响力。

Arduino公司的发展小趣事

随着物联网和智能设备的兴起,Arduino平台在智能家居、智能农业、机器人等领域的应用越来越广泛。开发者们可以利用Arduino平台来设计和开发各种智能设备和应用,实现设备的互联互通和智能化控制。这些应用不仅提高了人们的生活质量,也推动了电子行业的进步和发展。

这五个故事展示了Arduino公司在电子行业中的发展历程和取得的成就。从最初的廉价微控制器解决方案,到如今的多样化主板和广泛应用,Arduino始终秉持着创新、开放和合作的精神,为电子行业的发展做出了重要贡献。

问答坊 | AI 解惑

远程通信节点的系统测试方法

1 概 述 在基于远程通信的分布式控制系统中,为了增强系统的兼容性和灵活性,可将控制节点的远程通信功能单独分离出来,交给远程通信节点去管理。这样,各远程节点之间的通信就完全等效为控制节点间的本地通信,而无需关心其是否具有远程通信能 ...…

查看全部问答>

C语言趣味程序百例精解

本人觉得不错,拿来与大家分享!…

查看全部问答>

荧光粉提升PDP和LED技术

replyreload += \',\' + 372429;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

中9 破解升级

中9 松下科技星 tdx-668b Hi2023E+RDA5812+AVL1108E+MXT8211a+25L8005芯片组;不用拔线.直接可用,已经测试通过! 下载后,可直接使用! 增加全部46个台+4广播 [url=http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3827653&bbs_id=1000][/url] ...…

查看全部问答>

wince 中 摄像头问题,图片问题

原贴在http://topic.eeworld.net/u/20091029/10/4e29dc9d-fbfa-4ccc-920c-2c5f23bada64.html,100求解,分光了, 急~~~…

查看全部问答>

如何把音频加入单片机?

想在单片机内加入一段音频,如何把这段音频转化成汇编语言植入单片机?…

查看全部问答>

如何通过tornado用多个主机连接一个目标机?

需要做测试,但是没有那么多vxworks的机器,所以想看看能不能用多个tornado连接一个vxworks 如果可以的话,应该怎么操作呢?…

查看全部问答>

农民造巨型飞碟试飞现场

准确的说应该是多轴飞行器,如果有自平衡的控制,我看真行。 http://v.youku.com/v_show/id_XMzA3NjMxMTU2.html 这个是链接$(\'swf_LQ8\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'interna ...…

查看全部问答>

读PHY芯片DM9161寄存器的LINK STATUS位始终显示为可用连接没有建立

最近用STM32F107+DM9161+LWIP实现一个tcpip的通讯,但是在写DM9161驱动的时候,当复位DM9161,使能自协商模式后,检测连接是够建立,也就是BMSR的link status位始终为0,我的PHY地址为0.网上有说地址设置为0的时候DM9161处于掉电模式,请问这种说法 ...…

查看全部问答>