由于经常会忘记stm32的数据类型长度,测试一下:
DEBUG_INFO("stm32数据类型长度");
DEBUG_INFO("char = %d byte.", sizeof(char));
DEBUG_INFO("short = %d byte.", sizeof(short));
DEBUG_INFO("int = %d byte.", sizeof(int));
DEBUG_INFO("long = %d byte.", sizeof(long));
DEBUG_INFO("long long = %d byte.", sizeof(long long));
DEBUG_INFO("float = %d byte.", sizeof(float));
DEBUG_INFO("double = %d byte.", sizeof(double));
DEBUG_INFO("long double = %d byte.nn", sizeof(long double));
输出结果:
可供参考。
关键字:stm32 数据类型 长度
引用地址:
stm32实用篇4: stm32数据类型长度
推荐阅读最新更新时间:2024-11-06 15:56
基于STM32的数字示波器设计与实现
0 引言 随着集成电路的发展和数字信号处理技术的采用,数字示波器已成为集显示、测量、运算、分析、记录等各种功能于一体的智能化测量仪器。数字示波器在性能上也逐渐超越模拟示波器,并有取而代之的趋势。与模拟示波器相比,数字示波器不仅具有可存储波形、体积小、功耗低,使用方便等优点,而且还具有强大的信号实时处理分析功能。因此,数字示波器的使用越来越广泛。目前我国国内自主研发的高性能数字示波器还是比较少,广泛使用的仍是国外产品。因此,有必要对高性能数字示波器进行广泛和深入研究。本文通过采用高速高性能器件,设计了一实时采样率为60 Msa/s的宽带数字示波器。 1 数字示波器的性能参数设计 数字存储示波器的指标很多,包括采样率、带宽、灵敏
[单片机]
STM32引脚的4中输出模式
1、普通推挽输出(GPIO_Mode_Out_PP): 使用场合:一般用在0V和3.3V的场合。线路经过两个P_MOS 和N_MOS 管,负责上拉和下拉电流。 使用方法:直接使用 输出电平:推挽输出的低电平是0V,高电平是3.3V。 2、普通开漏输出(GPIO_Mode_Out_OD): 使用场合:一般用在电平不匹配的场合,如需要输出5V的高电平。 使用方法:就需要再外部接一个上拉电阻,电源为5V,把GPIO设置为开漏模式, 当输出高组态时,由上拉电阻和电源向外输出5V的电压。 输出电平:在开漏输出模式时,如果输出为0,低电平,则使N_MOS 导通,使输 出接地。若控制输出为1(无法直接输出高电平),则
[单片机]
STM32 定时器输出比较主动模式
STM32的定时器还可以工作在输出主动模式TIM_OCMode_Active。这里所谓的主动模式,通俗地说就是当定时器的计数值达到比较值的时候,强制在引脚端输出高电平。在这里,我这里编写一个程序使定时器工作输出比较主动模式,然后经过已经时间的延时,然后在通道引脚电平就会强制被拉高。 下面就讲讲相关的代码,还是基于我自己的规范工程。 1、工程的修改 1)这里用到了定时器,所以需要将stm32f10x_tim.h添加到STM32F10x_StdPeriod_Driver工程组中。 2)打开stm32f0x_conf.h文件,将其中原先被屏蔽的语句:#include stm32f10x_tim.h 的注释去掉。 3)新建OCAc
[单片机]
KEIL(MDK)同时兼容STM32和51系列单片机的方法
keil4 方法一: 首先安装KEIL4,然后安装KEIL3到MDK相同目录,安装过的就跳过。然后以管理员身份打开KEIL4,用KEIL4的注册机,注册ARM和C51。 破解结果 方法二: 下面这个方法可以让keilMDK兼容51的工程,只要一个keil就都能编译51和stm32的工程了: 1、安装keilC51,并破解,安装目录 T:keilC51 2、安装keilMDK,并破解,安装目录 T:keilMDK 3、把T:keilC51 里面的 C51 文件夹复制到 T:keilMDK 里 4、把 T:keilC51 里面的 UV4 文件夹复制到 T:keilMDK 里,提示有同名文件都不要
[单片机]
stm32cubemx I2C读取AT24C16
本文对如何使用stm32cube生成I2C工程不作说明,仅对在对AT24Cxx系列的使用时作出易忽略的说明; 1、at24cxx页面结构: 从该图可以看出16K(bit)共有128个页,每页由16byte构成。16k = 128 * 16 * 8; 特别注意:除at24c01和at24c02的页由8个byte构成,其它的都是由16byte构成。(这关系到对芯片的连续读写) 2.at24cxx的设备地址: A:作为设备地址的一部分;P:作为页地址的一部分; 对于大多数人来说都知道I2c设备具有一个设备地址,并且在一条总线上是唯一。若要在一个I2C总线上挂多个AT24CXX系列芯片,则需要A2,A1,A0作为设备地址的一部分
[单片机]
STM32之RCC
STM32 RCC复位与时钟配置,我首先忽略掉复位,首先学习时钟配置,复位以后用到再学习 STM32有多个时钟源,分别是 HSI:上电默认启动,因精度不高所以先不采用,以后如果需要再使用 HSE:外部高速时钟,系统时钟一般采用它,经过PLL倍频作为系统同时钟 LSE:外部低速时钟,一般专门用于RTC,等到RTC模块时再使用 LSI:内部低速时钟,精度不高,一般用于IWDGCLK 时钟系统框图如下: STM32中各个模块都有自己的时钟,当使用相应的模块时首先记得把此模块时钟开启 本次学习使用标准固件库3.3.0 好了,看明白上图咱就开始吧: void RCC_Configurati
[单片机]
STM32中断和异常
异常主要分为中断(如IO口,UART,等)和系统异常(如NMI,SYCTICK,等),注意区分中断和系统异常,下文异常为统称, 在CMSIS中,IRQn_Type为异常类型的枚举,系统异常一般为负数,中断则从0开始 常用的操作异常的CMSIS函数,为了可移植性,建议使用这些函数操作异常。中断相关寄存器主要在NVIC,系统异常相关寄存器主要在SCB中。 这些函数在core_cm4.h中定义 系统复位时,所有中断都是禁止的,并且优先级为0(最高优先级),所有系统初始化时要调用一次NVIC_PriorityGroupConfig来设置优先级分组情况。 异常优先级分为抢占优先级和子优先级,高抢占优先级的异常(优先
[单片机]
STM32 通用底层函数集锦, 自用
#include xustm32.h #include xucommon.h //#define COM_DEBUG #include xudebug.h //-------------------- STM32通用函数集锦 --------------------------------------------------- #if 0 HardFault_Handler PROC ; EXPORT HardFault_Handler ; B . IMPORT hard_fault_handler_c TST LR, #4 ITE EQ
[单片机]