学习记录

STM32 中           u8 :unsigned char          u16 : unsigned short         u32: unsigned int
                            unsigned char     uint8_t              unsigned short int   uint16_t            unsigned int     uint32_t
 
unsigned char = uint8_t =u8 
unsigned short int = uint16_t =u16 
unsigned  long  int =uint32_t =u32
 

 

一、符号不同
1、u8:u8表示无符号char字符类型。
2、u16:u16表示无符号short短整数类型。
3、u32:u32表示无符号int基本整数类型。
4、int:int表示带符号int基本整数类型。
二、数据范围不同
1、u8:u8的数据范围为0~+127[0~2^8-1]。
2、u16:u16的数据范围为0~+65535[0~2^16-1]。
3、u32:u32的数据范围为0~+2147483647[0~2^32-1]。
4、int:int的数据范围为-2147483648~+2147483647[-2^31~2^31-1]。
 
三、内存占用空间不同
1、u8:u8的内存占用空间大小为只占一个字节。
2、u16:u16的内存占用空间大小为占用两个字节。
3、u32:u32的内存占用空间大小为占用四个字节。
4、int:int的内存占用空间大小为占用八个字节。

 

 

u8是unsigned char,u16是unsigned short,u32是unsigned long。
 
u8,u16,u32都是C语言数据类型,分别代表8位,16位,32位长度的数据类型,一个字节是8位,所以u8是1个字节,u16是2个字节,u32是4个字节。
可以在stm32库头文件中找到数据类型的声明
在stdint.h中:
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;
在stm32f10x.h 中:
typedef uint32_t u32;
typedef uint16_t u16;
typedef uint8_t u8;
 
 
 
 

STM32引脚配置的几种模式及用法解释

1、 浮空输入(默认状态):GPIO_Mode_IN_FLOATING
引脚自身视为开路,电平由外部电路决定,不能输出;
2、上拉输入:GPIO_Mode_IPU
与浮空输入类似,但当外部电平不确定时,会被拉至高电平;
3、下拉输入:GPIO_Mode_IPD
与浮空输入类似,但当外部电平不确定时,会被拉至低电平;
4、 模拟输入:GPIO_Mode_AIN
用作内部AD采样脚;
5、 通用开漏输出:GPIO_Mode_OUT_OD
输出0为低电平,输出1为高阻态,电平由外部电路决定,可以读出引脚状态;
6、 通用推挽输出:GPIO_Mode_OUT_PP
输出0为低电平,输出1为内部电源电平(3.3V);
7、 复用开漏输出:GPIO_Mode_AF_OD
由复用外设控制输出,效果与通用开漏输出一致 
8、复用推挽输出:GPIO_Mode_AF_PP
由复用外设控制输出,效果与通用推挽输出一致;
 
 
 
typedef enum 
{
GPIO_Mode_AIN = 0x0, //模拟输入 
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;
 
 
 
 
posted @ 2020-09-30 22:14  数字青年  阅读(191)  评论(0编辑  收藏  举报