完善资料让更多小伙伴认识你,还能领取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的值保持为零。这太令人沮丧了。
|
|
|
|
只有小组成员才能发言,加入小组>>
5188 浏览 9 评论
2009 浏览 8 评论
1933 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3181 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2232 浏览 5 评论
743浏览 1评论
629浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
512浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
642浏览 0评论
538浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 15:15 , Processed in 1.756383 second(s), Total 91, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号