完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友william hill官网
|
大家好!我来自一个大会背景(在HC08 MCU),但我试图扩大我的知识与学习C,并在我试图做这个警告。我会尝试把代码提炼成相关的东西。我想知道我做的是什么错误,而不是一个创可贴解决方案(比如类型转换)。这是在PIC16F150 3上给出警告的行,所以它试图做的就是把地址LCDJ-MSG的值放在I2C缓冲器中,开始把它移走。这个项目是一个简单的闹钟。我想使用SDEN2LCD函数输出字符串常量(如星期几)和运行时确定的值(如时间)。SSP1BUF是与LCDA.MSG(我想)指向的值相同的无符号字符。我的直觉说这是挥发性和常量的区别,但是…我不太熟悉C,所以我在这里:对不起,如果这是一个愚蠢的问题!
|
|
相关推荐
16个回答
|
|
|
你肯定吗?在该语句中没有指针赋值,因此转换。它更可能是对send2lcd()的调用,其中第一个参数是一个const对象的地址,它被分配给一个指针参数,该参数不对它的target.Jeff使用const限定符。
|
|
|
|
|
|
如上所述,我认为您通过提取您认为有错误的代码来掩盖这个问题。请尝试将其缩减为仍然显示错误的真实程序(其他人可以编译)。
|
|
|
|
|
|
你肯定吗?在该语句中没有指针赋值,因此转换。它更可能是对SeND2LCD()的调用,其中第一个参数是指派给指针参数的const对象的地址,该指针参数不使用其目标的const限定符。杰夫。我相信你是对的。我今天重新打开了这个项目,重新构建了它,再次检查它,它指向那个函数调用,下一行说:昨天晚上一定累了,或者我在今天之间改变了一些东西,然后重新打开它。我猜要完成我想做的事情,我需要创建一个缓冲区。RAM,我加载到常量字符串,或运行时确定的值(或混合的两个)?谢谢你的帮助!
|
|
|
|
|
|
|
|
|
你需要把所有的代码放进去,否则就是不可读的。
|
|
|
|
|
|
我一直很难理解指针,或者可能大部分是用代码实现它们的语法。您的问题可能是“LCDA.MSG”已经是指针,因此“*LCDJMSG”是指向该指针的指针。但是,因为指针实际上只是内存中的一个地址,所以我认为“&;LCD-MSG”将是指针的地址。无论如何,我认为你应该只使用“SSP1BUF=LCD.MSG”。我在当前的项目中遇到了类似的问题。我有:所以,显然需要“const”限定符来区分ROM和RAM。
|
|
|
|
|
|
不,*LCD-MSG正好相反。它“去引用”指针,所以你得到指针所指向的值。这就是此时所需要的,所指向的字符必须写到SSP1BUF。
|
|
|
|
|
|
const char*X="abcd",*p=X;//X是寻址符Y,*I=&Y;//I是指向YY=10;*I=5的地址,(*p){printf("Addr%p,[%c]r",p,*p);p+}实际上在汇编器中更简单。
|
|
|
|
|
|
不,XC8非常聪明,可以直接从ROM获取字符串。请注意杰夫所说的。他告诉你你忽略了做什么。
|
|
|
|
|
|
Geomancer,杰夫是XC8编译器团队的一部分。听他说。
|
|
|
|
|
|
* =“a”;//NO可以。
|
|
|
|
|
|
你有一个汇编背景,你应该知道C指针就像在ASM中的间接寻址。
|
|
|
|
|
|
杰夫,为什么没有警告(359)逆转?也就是说,当参数是分配给指针参数的非常量对象的地址时,指针参数确实使用常量限定符作为其目标。
|
|
|
|
|
|
“const”在参数列表中的含义与变量定义/声明中的含义不同。它只是表示函数不试图改变变量。将非const指针传递给具有列表对象中的const的函数是完全合法的。
|
|
|
|
|
|
在转换中添加*限定符是完全有效的。你不能把它们带走。例如,查看MycPy.();它以非const指针作为目标,而const指针作为源。这允许您在没有任何警告的情况下复制常量对象或非常量对象。最后,它仍然意味着该对象在函数内是只读的,就像任何其他常量对象一样。这并不比分配一个空洞*到一个永久空洞真的不同。
|
|
|
|
|
|
谢谢,伙计们。因此,如果变量在函数内是只读的,则使用const限定符来允许接受const或非const对象,而无需编译器警告。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
5377 浏览 9 评论
2102 浏览 8 评论
2006 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3280 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2314 浏览 5 评论
883浏览 1评论
773浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
708浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
766浏览 0评论
655浏览 0评论
/6
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-8 12:37 , Processed in 1.521412 second(s), Total 105, Slave 89 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1423