當前位置:商標查詢大全網 - 商標轉讓 - 關於stm32,節目中的u8和u16是什麽意思?

關於stm32,節目中的u8和u16是什麽意思?

U8是無符號字符,u16是無符號短整型,u32是無符號長整型。

U8、u16和u32都是C語言數據類型,分別代表8位、16位和32位數據類型。壹個字節是8位,所以u8是1字節,u16是2字節,u32是4字節。

妳可以在stm32庫的頭文件中找到數據類型的聲明。

在stdint.h中:

typedef無符號字符uint 8 _ t;

typedef無符號短整型uint 16 _ t;

typedef無符號長整型uint 32 _ t;

在stm32f10x.h中:

typedef uint32 _ t u32

typedef uint 16 _ t u 16;

typedef uint8 _ t u8

擴展數據

CPU按其處理信息的字長可分為8位微處理器、16位微處理器、32位微處理器和64位微處理器。字和半字是根據處理器的特性決定的,而字節是8位。

Stm32是32位處理器,所以它的字是32位(每次處理長度為4字節的數據),半字自然是16bit(2字節)。存儲半字數據的寄存器由u16類型變量訪問,但如果u8類型變量只能訪問數據的低8位,用u32類型變量讀取沒有問題,寫的時候會因為編譯器不同而有偏差。

與傳統arm相比,stm32最大的優勢是不需要對齊,三類數據可以無縫存儲在內存中。但是傳統的arm7或者arm9是按照地址對齊的,也就是說8位或者16位的數據會占用4個字節的空間,會造成內存的浪費。

stdint.h - C++參考

頭文件:stm32f10x.h