c語言u32
① 紼嬪簭涓瀹氫箟鍙橀噺鏈夋椂u8錛寀16錛寀32鎬庝箞閫夋嫨
浠繪剰閫夋嫨錛寀8鏄痷nsigned char錛寀16鏄痷nsigned short錛寀32鏄痷nsigned long銆
U8銆乽16鍜寀32閮芥槸C璇璦涓鐨鏁版嵁綾誨瀷錛屽垎鍒琛ㄧず8浣嶃16浣嶅拰32浣嶉暱搴︾殑鏁版嵁綾誨瀷銆備竴涓瀛楄妭鏄8浣嶏紝鎵浠u8鏄1瀛楄妭錛寀16鏄2瀛楄妭錛寀32鏄4瀛楄妭銆
鍙浠ュ湪stm32搴撳ご鏂囦歡涓鎵懼埌鏁版嵁綾誨瀷鐨勫0鏄
鍦╯tdint.h涓錛
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;
鍦╯tm32f10x.h 涓錛
typedef uint32_t u32;
typedef uint16_t u16;
鎵╁睍璧勬枡錛
CPU鎸夌収鍏跺勭悊淇℃伅鐨勫瓧闀垮彲浠ュ垎涓猴細
8浣寰澶勭悊鍣銆16浣嶅井澶勭悊鍣ㄣ32浣嶅井澶勭悊鍣ㄤ互鍙64浣嶅井澶勭悊鍣ㄧ瓑銆傚瓧銆佸崐瀛楁槸鏍規嵁澶勭悊鍣ㄧ殑鐗規у喅瀹氱殑錛屽瓧鑺傚垯閮芥槸8bit銆
Stm32鏄涓涓32浣嶅勭悊鍣錛屾墍浠ュ畠鐨勫瓧鏄32浣(涓嬈″勭悊4涓瀛楄妭鐨勬暟鎹)錛屽崐瀛楁槸16浣(2涓瀛楄妭)銆傚瓨鍌ㄥ崐瀛楁暟鎹鐨瀵勫瓨鍣鏄鐢辯被鍨嬩負u16鐨勫彉閲忚塊棶鐨勶紝浣嗘槸濡傛灉綾誨瀷涓簎8鐨勫彉閲忓彧鑳借塊棶鏇翠綆鐨8浣嶆暟鎹錛岄偅涔坲32鍙橀噺灝嗚寰堝ソ鍦拌誨彇錛屽苟涓旀牴鎹緙栬瘧鍣鐨勪笉鍚屽皢浠ヤ笉鍚岀殑鏂瑰紡鍐欏叆銆
涓庝紶緇焌rm鐩告瘮錛宻tm32鏈澶х殑浼樼偣鏄涓嶉渶瑕佸歸綈錛屼笁縐嶇被鍨嬬殑鏁版嵁閮藉彲浠ユ棤緙濆湴瀛樺偍鍦ㄥ唴瀛樹腑銆備紶緇熺殑arm7銆乤rm9絳夋槸鎸夊湴鍧瀵歸綈鐨勶紝榪欐剰鍛崇潃8鎴16浣嶆暟鎹鍗犵敤4瀛楄妭鐨勭┖闂達紝瀵艱嚧鍐呭瓨鐨勬氮璐廣
② c語言中u8,u16,u32和int區別
這幾種方式都是在表達同1個意思,沒有區別。
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
typedef unsigned __int64 uint64_t;
代碼示例:
voidTIM3_Int_Init(u16arr,u16psc)
{
//dosomething...
}
(2)c語言u32擴展閱讀
u8,u16,u32的使用
示例:
#defineU32 unsignedint
#defineU16 unsignedshort
#defineS32 int
#defineS16 shortint
#defineU8 unsignedchar
#defineS8 char
unsignedchar=u8
unsignedshortint=u16
unsignedlongint=u32
③ 請問一下高手們,C語言宏定義這是個什麼意思,*(u8*)(u32)
思路:抽絲剝繭
知識點:指針
------
//(u32)(x)得到內存地址(無符號32位)
//(u8*)(u32)(x)指向這個內存地址
//*(u8*)(u32)(x)從這個內存地址取值
這里的u8隻是規定了從內存中取什麼東西。
前提是你知道那個地址放的是什麼類型的數據,也可以是u16、u32甚至是某種struct類型。
------
參考:http://ke..com/link?url=A__BKbYUE0TBlITsJY_gec80FhuB_ 2.3節