2752| 4
|
在时钟配置函数中 有个(uint32_t)((uint32_t)~R)语法问题没弄懂 请大神指教!!!! |
7金钱
最佳答案因为常数是不带类型, 比如 #define abc 3, 编译器不知道这个1是u8, u16 还是u32
在一般应用时这不会是个问题, 但当你企图取反的话就会有问题
(uint8)~abc 的取反是 _1111_1100
(uint16)~abc 的取反是 _1111_1111_1111_1100
(uint32)~abc 的取反是 _1111_1111_1111_1111_1111_1111_1111_1100
给一个32位寄存器 XYZ &= (uint8)~abc == XYZ &= _0000_0000_0000_0000_0000_0000_1111_1100
这显然不是你想要 ...
| ||
| ||
| ||
| ||
| ||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-6-23 06:20
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网