宏定义没有u
#define IE2_ (0x0001u)/* Interrupt Enable 2 */DEFC( IE2 , IE2_)
#define U1IE IE2 /* UART1 Interrupt Enable Register */
#define URXIE1 (0x10)
#define UTXIE1 (0x20)
如上 有些宏定义里十六进制数没有u,而有些16位的就有?这是什么意思?
u就是unsigned,表示是无符号.
对,也就是表示无符号的16进制数。
应该是表示无符号数。
为了告知编译器,以避免编译器弄错。 类似的用法:::
float RadStep = 0.1963495408494f;
long double a = 12.34L; /* correctly initializes to double precision */
long double b = 56.78; /* converts single precision value to double precision */ 很多后面+f 表示浮点型的。
现在的keil不加转换不加上f 可能给警告的。
是的 u就是unsigned,表示是无符号。
无符号常量,可以在常量后边加上字母U。。。
u是unsigned的意思,表示无符号数。。
数字后面带个U是表示无符号类型的数据。
C语言中整形常量默认为有符号int。。
U表示该常数用无符号整型方式存储,相当于unsigned int
这里表示无符号的16进制数。
试试在常量后边加上字母U
+f 表示浮点型
也可以自己定义啊
不用定义 就是多打俩字母呗
没有什么意思
哦,那我就知道怎么回事了,多谢大家
页:
[1]