1. 程式人生 > >STM32中U8, U16 ,U32啥意思

STM32中U8, U16 ,U32啥意思

1.unsigned int 32 (C語言標準表達方法)        2.uint32_t ;            
3.u32;  
這三種方式都是在表達同一個意思。可為什麼ST的開發人員要搞的這麼亂呢? 其實ST 搞這麼多花樣,無非是想開發人員在寫程式碼時定義資料型別能少寫幾個符號,然後又因為前後版本升級,為了相容舊版本(主要是V2.0)才會出現這麼多表示方法。不管他怎麼換,都是基於標準C來的。

stdint.h 這裡放著C語言的標準表達方式//第36行開始
typedef   signed          char       int8_t;  //  標準表達方式 signed char 被等同於 int8_t;
typedef   signed short  int         int16_t;
typedef   signed           int         int32_t;//在32位環境裡,int代表4個位元組32位!!
typedef   signed       __int64     int64_t;

typedef unsigned              char       uint8_t;
typedef unsigned short     int         uint16_t;
typedef unsigned              int         uint32_t;
typedef unsigned          __int64     uint64_t;
……

stm32f10x.h 這個檔案主要是為了相容舊版本吧
typedef   uint32_t   u32;///32位
typedef   uint16_t   u16;///16位
typedef   uint8_t     u8;///8位
……

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