论坛元老
 
- 积分
- 8017
- 金钱
- 8017
- 注册时间
- 2014-8-13
- 在线时间
- 1594 小时
|
发表于 2016-9-28 03:44:18
|
显示全部楼层
本帖最后由 mack13013 于 2016-9-28 03:50 编辑
0x0A和10(10)其实是一个东西。
如果你实在要用switch case,那么这么写就可以了
case 0x09:
Mod_Id = 10;
break;
case 10:
Mod_Id = 11;
break;
其他以此。
其实我在2楼说的Mod_Id = GPIOF ->IDR + 1;是严格来讲不正确的,
因为0x10其实是16,但是我猜想,你可能是想描述成
case 10:
Mod_Id = 11;
break;
所以我给写成Mod_Id = GPIOF ->IDR + 1;了,因为这样估计会是你要的逻辑。
你去找本C语言书,查看一下进制转换部分吧。
其实就是个16进制和10进制转换问题,0x0A用哪种进制显示都可以,
实质还是那个比9大1的数,这个数用16进制显示就是0x0A(或者直接记作A),用10进制显示就是10,
用8进制显示就是12,用2进制显示就是1010。
不管用哪种方式显示,实质都是比9多1的那个数。
你调试的时候估计是用16进制显示了,你对着那个数字点右键,估计有个“用16进制显示”的菜单打勾了,
取消勾选你就会看见它显示为10了。
另外,“大师”不敢当。
|
|