1. 程式人生 > >stm32常用資料型別 U8、U16、U32到底代表什麼?

stm32常用資料型別 U8、U16、U32到底代表什麼?

在Keil MDK 開發環境裡,比如一個 無符號32位整形資料會有很多種表示方法:

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

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位
……

core_cm3.h 檔案主要針對動態 靜態 變數修飾符做出型別擴充套件


#ifdef __cplusplus
  #define   __I     volatile            
#else
  #define   __I     volatile const      
#endif
#define     __O     volatile            
#define     __IO    volatile
……


相關推薦

stm32常用資料型別 U8U16U32到底代表什麼?

在Keil MDK 開發環境裡,比如一個 無符號32位整形資料會有很多種表示方法: 1.unsigned int 32 (C語言標準表達方法)        2.uint32_t ;            3.u32;  這三種方式都是在表達同一個意思。可為什麼ST的開發

STM32常用資料型別 u8u16u32

1.unsigned int 32 (C語言標準表達方法)        2.uint32_t ;            3.u32;  這三種方式都是在表達同一個意思。ST 搞這麼多花樣,無非是想開發人員在寫程式碼時定義資料型別能少寫幾個符號,然後又因為前後版本升級,為了相

轉載:stm32 資料型別的定義(常用U8U16U32到底代表什麼)

在Keil MDK 開發環境裡,比如一個 無符號32位整形資料會有很多種表示方法: 1,unsigned int 32 (C語言標準表達方法) 2,uint32_t ;  3 ,u32;  這三種方式都是在表達同一個意思,可為什麼ST的開發人員要搞的這麼亂呢? 還有其他

C#程式設計基礎第十課:C#中的常用資料型別轉換:隱式轉換顯式轉換Convert類轉換等

知識點:型別轉換、數值型別間的轉換、隱式型別轉換、顯式型別轉換、數值型別和string型別的轉換、Convert類轉換。 1、資料型別型別轉換 理解:從根本上說是型別鑄造,或者說是把資料從一種型別轉換為另一種型別。C#有多種資料型別,在使用各種型別的資料時,有時候需要將一種型別的資料轉換

Redis常用資料型別介紹使用場景及其操作命令

Redis目前支援5種資料型別,分別是: String(字串)List(列表)Hash(字典)Set(集合)Sorted Set(有序集合) 下面就分別介紹這五種資料型別及其相應的操作命令。 1. String(字串) String是簡單的 key-value 鍵值

資料庫中常用資料型別的取值範圍介紹(以mysqlSQL Server為準)

        在資料庫設計時,會對欄位資料型別和欄位長度進行考慮。最終選定的欄位資料型別和欄位長度又會對資料庫的效能和佔用空間大小造成一定影響。欄位的資料型別定了,則欄位在資料庫中佔用的儲存空間大小也已經定了,其與指定的資料型別長度無關。以資料庫開發中最常用的欄位型別in

u32u16u8 數據類型

view add var mod 類型 ext sign ack clas #define U32 unsigned int #define U16 unsigned short #define S32 int #define S16 short

Java種的基本資料型別轉換(自動強制提升)

Java種的8大基本資料型別,以及它們所佔記憶體大小和範圍 1、自動型別轉換 自動型別轉換是指:數字表示範圍小的資料型別可以自動轉換成範圍大的資料型別。 如: long l = 100; int i = 200; long ll = i; 具體自動轉換如如下圖所示:

常用資料結構思維:分治動態規劃貪心回溯分支限界

分治:把一個複雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題……直到最後子問題可以簡單的直接求解,原問題的解即子問題的解的合併 http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741370.html#30

Python基礎-python資料型別之元祖字典(四)

元祖    Python的元組與列表類似,不同之處在於元組的元素不能修改。元組使用小括號,列表使用方括號。 tuple=(1,2,3,4) print(tuple)   訪問元祖     通過索引訪問,也可以進行切片操作 tuple=(1,2,3,4) print(tuple[2])

各種資料型別在16位32位和64位系統下所佔位元組差異簡介

編寫C、C++程式時需要考慮每種資料型別在記憶體中所佔的記憶體大小,即使同一種資料型別在不同平臺下所佔記憶體大小亦不相同,具體對比如下: 資料型別 16位系統(byte) 32位系統(by

課後作業:情境二:資料型別與運算子 1基本語法與變數

1、簡述break、continue和return語句的區別。2、請描述下面識別符號是否合法並寫出不合法原因。12classvoid-1_1、9Hello World3、定義一個空間,儲存你的姓名。再定義一個空間儲存你的性別。再定義一個空間儲存你的生日。再定義一個空間儲存你的年齡   4、分別為

引用資料型別(Scanner類Random類)

Scanner類 Scanner類是引用資料型別的一種,我們可以使用該類來完成使用者鍵盤錄入,獲取到錄入的資料。   引用資料型別的使用 與定義基本資料型別變數不同,引用資料型別的變數定義及賦值有一個相對固定的步驟或格式。   資料型別  變數名  =  ne

Python3組合資料型別(元組列表集合字典)語法

一、序列型別(字串,元組(),列表[]) 序列型別支援in,len(),分片[],迭代,5種內建序列型別:bytearray,bytes,list,str,tuple(元組)。 1、元組可以巢狀(如:x=str[2][1][0][1]) 2、元組的命名(collections.namedtupl

C#呼叫C++ 平臺呼叫P/Invoke 結構體--含有內建資料型別的一維二維陣列字串指標【六】

【1】結構體中含有內建資料型別的一維陣列 C++程式碼: typedef struct _testStru3 { int iValArrp[30]; WCHAR szChArr[30];

SQL Server 2008 資料型別-varchar(MAX)nvarchar(MAX) 到底有多大?

在 SQL Server 2000 中,varchar(8000)、nvarchar(8000) 就是極限了,在 SQL Server 2005、SQL Server 2008 中,增加了 varchar(MAX)、nvarchar(MAX) 資料型別。這裡 MAX 代表

基本資料型別和包裝類String類的轉換&toString方法&instanceof運算子

基本資料型別和包裝類、String類的轉換&toString方法&instanceof運算子 1.包裝類 Java語言是一個面向物件的語言,但是Java中的基本資料型別卻是不面

C# intlongdoublechar等各種內建資料型別的位元組數最大值最小值

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program

String資料型別轉換成longintdoublefloatbooleanchar等七種資料型別

String C="true"; //當String型別資料值為true/false時,直接輸出true/false boolean N=Boolean.parseBoolean(+C); System.out.println("String型別轉換成boolean型別:"N); //當String型別資料

【Java】基本資料型別與封裝類字串的相互轉換

一、基本資料型別與其對應的封裝類之間的相互轉換 基本資料型別轉換為封裝類 1·直接賦值  (自動打包) Integer i=3;   2·使用封裝類的含參建構函式(例項化) Integer i=new Integer(3);   3·使用封裝類提供的valueOf