完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,伙计们,我正在处理一个奇怪的问题,这对我来说毫无意义。我有一个变量:我在我的中断函数中声明它,并且每次通过一些ADC功能将它设置为1。问题是,它似乎没有价值。我使用调试器并通过设置断点观察这个变量的值来验证这一点。我试图将其设置为无符号字符,并且成功地更新了它,但是我需要它成为我想做的逻辑的16位变量。使用编译器XC8V1.35,这里有什么问题?这里有一个中断函数,如果有人想看的话:
|
|
相关推荐
4个回答
|
|
您从不使用该变量的值来做任何事情,因此编译器会将其优化。它是为了什么?你以后会用它吗?如果你想强制编译器不优化它,你可以声明它是“不稳定的”。
|
|
|
|
您是说您的代码不能正常工作,还是只是无法检查调试器中的值?如果后者,这只是优化,正如荒山亮指出的那样。
|
|
|
|
嗯,但是“扫描”*是使用*…
|
|
|
|
我确实使用了“扫描”。它用于逐位或在循环中循环。当我逐步通过调试器并传递将值设置为1的代码行时,扫描值在此之后保持0x0000。当我把变量声明为一个无符号字符时,它是有效的。最近我发现的另一个东西是在文件寄存器中。我转到变量的地址(0x11),它是0x00。我认为编译器试图优化它。我必须把它设置为易失性,看看它是什么。
|
|
|
|
只有小组成员才能发言,加入小组>>
5237 浏览 9 评论
2026 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3201 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
772浏览 1评论
662浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
590浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
672浏览 0评论
572浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 10:21 , Processed in 2.863593 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号