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节