完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大家好,我面临着一个奇怪的问题,不能使用从控制器内部EEPROM中检索到的浮点值。我在这里要做的就是在EEPROM中存储一个浮点值,在控制器重置时或者在一个电源周期之后取回这个值。我所面临的问题是,当我从EEPROM中读取值之后,我把它显示在一个看起来很好的串行终端上。但是如果我试着在while循环中使用这个变量,它不会像预期的那样增加。这是我的测试代码,我知道EEPROM有持久极限,我不应该频繁地修改它。但这只是为了测试代码流。读取值被正确显示,但是不能根据需要增加变量“rt”。这里的脉冲是由ISR增加的,这个代码中没有显示。有人能帮助我解决这个问题吗?我在PIC18F420,MPLABX V4.10,XC8 V1.34在Windows 7上工作。谢谢
|
|
相关推荐
7个回答
|
|
|
你已经排除了一些重要的细节。在这个测试中,“RT”和“脉冲”的值是多少?(我不必问你是否显示了你的串行输出。)在XC8中你设置了什么尺寸的“浮动”?24还是32?
|
|
|
|
|
|
嗨,QYB,1。“RT”和“脉冲”是当传感器在IOC(RB7)PIN上发出脉冲时产生的动态值。“RT”是浮动类型,“脉冲”是无符号int类型。2。浮点数是XC8上的3字节(24位)。这是内部使用“rt”时的串行终端输出,而(1)loop这是内部使用不同的浮点数变量时的串行终端输出。
|
|
|
|
|
|
显示的“脉冲”最高值是72。我知道(float)的优先级应该高于“/”,但是尝试使用440.0而不是440,并强制使用浮动除法而不是可能的整数除法。
|
|
|
|
|
|
谢谢。会拿走那个小费。
|
|
|
|
|
|
默认情况下,XC8中的浮点数为24位。32位是一个可选择的选项。
|
|
|
|
|
|
那应该是
|
|
|
|
|
|
这改变了吗?但最初的问题仍然是相同的。如果在while循环内部和外部使用相同的浮点变量,或者如果将while循环外部的浮点变量的值赋给内部的浮点变量,则f1的值保持为零。这太令人沮丧了。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:24 , Processed in 0.994030 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1996