完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
typedef struct
{ uint8_t Data1[2]; uint16_t Data2[10]; }USE_DATA; USE_DATA USE READ; const uint32 addr1 = &READ.Dat1[0]; const uint32 addr2 = &READ.Dat1[1]; keil编译会警告 #1296-D:extended constant initialiser used ; 我需要addr1,addr2定义成uint32用,不能定义为指针. 谁有办法消除这个警告??????????? |
|
相关推荐
5个回答
|
|
|
补充 : 如果定义uint32 addr1 = &READ.Dat1[0];
uint32 addr2 = &READ.Dat1[1]; 不会有警告,定义了const 就会有, |
|
|
|
|
|
如果 uint8_t Data1[2];
uint16_t Data2[10]; const uint32 addr1 = (uint32_t)&Dat1[0]; const uint32 addr2 = (uint32_t)&Dat1[1]; 不定义成结构体也不会有警告 这是个简单举例,实际上我一个结构体里还包含很多参数 |
|
|
|
|
|
const uint32 addr1 = (uint32)(&READ.Dat1[0]);
const uint32 addr2 = (uint32)(&READ.Dat1[1]); 使用vs简单测试语法,没问题 |
|
|
|
|
naiztycheng 发表于 2018-11-1 14:57 我也测试过读写数据,没问题,但是怎么消除keil报警,我工程有好几百个这样报警,看着不爽. keil编译会警告 #1296-D:extended constant initialiser used ; |
|
|
|
|
vywyewwx 发表于 2018-11-1 15:12 其实应该谢谢你,我没有遇到过这种问题。但是我帮你搜索到了,也涨了知识。 http://infocenter.arm.com/help/i ... c.faqs/ka15182.html |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2776 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2379 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2255 浏览 0 评论
2367 浏览 1 评论
1625 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:33 , Processed in 0.731057 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
22705