完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
numShow[0]=CMD_tmp[2]; //Before !!!!
res=(*(u8(*)(u32))cmd_device.funs[id].function)(U32DATA.x); // SUPER BUG!!! after (u8(*)(u32)) ,the RAM value shifted numShow[1]=CMD_tmp[2]; //After !!! RAM VALUE shifting,total changed 1.第二步中没有对CMD_tmp做任何变化, 2.结果到第三步时CMD_tmp的值发生了偏移,把CMD_tmp-8 .... CMD_tmp-1 整片移入CMD_tmp。CMD_tmp原本的值也相应偏移了 以下为补充的信息 union{ u8 c[4]; u32 x; }U32DATA; U32DATA.c[3]=CMD_tmp[4]; U32DATA.c[2]=CMD_tmp[5]; U32DATA.c[1]=CMD_tmp[6]; U32DATA.c[0]=CMD_tmp[7]; |
|
相关推荐
5个回答
|
|
已查明,C51不支持函数指针
|
|
|
|
C51支持函数指针,前几天才用过。你写法不对,完全不用这么复杂的。
|
|
|
|
自己的错误还没查出来就断言编译器bug?
|
|
|
|
不要轻易怀疑编译器bug。。。多从代码上面找问题吧,编译器有些用法可能不支持,但不是bug
|
|
|
|
要是有bug也早就解决了,如果你觉得还有那就是你的问题
|
|
|
|
只有小组成员才能发言,加入小组>>
3301 浏览 9 评论
2975 浏览 16 评论
3477 浏览 1 评论
9037 浏览 16 评论
4070 浏览 18 评论
1152浏览 3评论
595浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
582浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2320浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1881浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-12 16:37 , Processed in 1.353421 second(s), Total 58, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号