完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我试图为一个“标志”变量定义一个位字段,它类似于定义“Purabase.Ra0”的变量。这里是给出错误的代码部分:错误发生在我试图通过命名位或整个无符号值设置flags2的值的行上:我使用的格式与PIC16F873.h中的定义相同,而“flags2”的代码完成显示了要从中选择的三个选项。我已经和这个摔跤很长时间了,我看不出哪里出了问题。在项目中只有一个源文件,除了评论之外,它没有其他定义“Frass2”。有什么想法吗?我使用MPLABX 3.50和XC8 1.33。谢谢!
|
|
相关推荐
16个回答
|
|
|
我原来是这样,我又试了一次,但没有快乐。我已经关闭了MPLABX应用程序,并将重新打开它。它已经变得迟钝了,也许有些东西歪曲了。我还做了一个简单的源文件,并得到了相同的结果。但是我把问题代码移到了主程序上,现在没问题!
|
|
|
|
|
|
哦,当然不是结构/联合的问题,而不是任务。
|
|
|
|
|
|
你是对的。匿名联盟是在XC8中没有实现的C99特征。
|
|
|
|
|
|
你是对的。匿名联合是在XC8中没有实现的C99特性。这可能是真的,您总是说,“使用XC8不支持的C99特性……恶魔可能会飞出你的鼻子;但是XC8中的所有C头文件都是用匿名联盟结构填充的。
|
|
|
|
|
|
是的,我的意思是
|
|
|
|
|
|
我认为在这个线程中有很多错误的线索。PStechPaul定义的联合不是匿名。它是一个在联合内的结构,没有命名,据我所知,这是允许的。我使用匿名结构的很多,它在设备支持文件中到处使用。代码类似于message#3也可以在函数中工作,其中flags2 union作为全局变量。我不能重现message#1中报告的错误消息,但是使用其中的代码,在函数的主体中,以flags2作为本地,代码优化为零。ND XC 8 V1.41问候,Mysil
|
|
|
|
|
|
我认为NK在谈论匿名结构(以及错误键入的联合),正如他所说的,bitfield是该联合中的结构。
|
|
|
|
|
|
我想我也是。有一段时间没有(可能是高科技时代),但这是电话应答的危险,你不能看。
|
|
|
|
|
|
可以理解的是,像Frass2.ALL这样的可执行代码必须在函数中,而不是在声明中。但是,在声明中可以有“int test=1”。这个问题发生在我将其他人的MickroC代码移植到XC8时,并且我想使用位字段结构来实现他们的位定义:这在main()函数之外。我也可以使用最近另一个线程中讨论的关于使用单独的寄存器来模拟LATx寄存器以避免RMW问题的相同类型的定义。MikroC也有以下内容:BTW,是否有人具有与MikroC相同的功能的LCD库?http://download.mikroe.com/./compiler s/mikroc/pic/help/lcd_library.htmI试图找到源代码,显然它已内置到编译器中。如果我成功地为XC8制作了一个等价的库,我会把它放在一个单独的线程中。
|
|
|
|
|
|
AHHH MIKROC:)如果上述任务是“初始化”,那么它们可能会工作…
|
|
|
|
|
|
初始化必须在创建变量的语句中进行,而不是在之后的单独行中进行。您只能初始化联合中的FIRST项。
|
|
|
|
|
|
这是标准C。任何变量在它的初始声明处都可以给出一个值。都是有效的,并且可以作为全局变量(在这种情况下,C启动代码将值复制到非静态变量)放置在函数外部,或者作为局部变量(在这种情况下,函数序言代码)放置在函数中。复制值。除非使用C99,否则匿名结构(以及GCC中的联合)可能更棘手,C99允许指定初始化器(我认为这在XC8中是不允许的)。对于联合,当没有指定成员时,联合中的第一个成员是默认的,在XC8中必须是简单类型。所以下面的XC8in C99有效,以下是允许的
|
|
|
|
|
|
等效当量
|
|
|
|
|
|
是的,以下工作没有给出:它给出这些错误:newmain.c:16:error:(207)所需的简单类型“@”NOT struct S83 newmain.c:16:error:(182)类型无符号int->struct S83之间的非法转换
|
|
|
|
|
|
初始化联盟时,初始化器用于第一个字段。不能用“= 0”初始化一个结构。
|
|
|
|
|
|
我怀疑你的说法,第一个编译没有括号围绕0。结构和联合要求在它们的初始化器周围{}}。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1123浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:04 , Processed in 1.328739 second(s), Total 102, Slave 85 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1773