((u8)modbus_reg[1]=0x04) << 8;报错无效??? | 已解决
((u8)modbus_reg=0x04) << 8;报错无效???我想把modbus_reg低8位赋值完毕后,再移植高8位, 具体见附件,尝试了以下几种都不行:
(modbus_reg=0x04) << 8;
((u16)modbus_reg=0x04) << 8;
(u16)((u8)modbus_reg=0x04) << 8;
((u8)modbus_reg=0x04) << 8;
你这条指令拆解成2条指令:
1. modbus_reg=0x04;
2. modbus_reg<<8;
第1条是有效指令,第2条是无效指令,因为左移之后的内容没有存放到变量里面。
根据你的描述可以修改成以下指令:
modbus_reg=(u16)0x04 << 8;
或者
modbus_reg=0x0400; 乘风飞扬 发表于 2023-10-10 09:16
((u8)modbus_reg=0x04)
感谢支持,是的你给出的这两语句都编译没问题,我回来测试一下,是我把自己绕进去了,再次感谢!
页:
[1]