完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我想从EEPROM读取字节,它读取良好的第一类型。在PIC复位之后,它错误地读取第一个字节。在0x01的情况下读取0xFF。除了第一个字节外,其他所有字节都读正确。在所有外围设备和I/O初始化过程之后,每个PIC启动时都开始读取过程。您知道什么会导致这个问题吗?这是我的EEPROM数据:这是EEPROM读取过程(来自分解列表)这是代码中的EEPROM读取过程(c18编译器)
|
|
相关推荐
7个回答
|
|
你的软件中有EEPROM写代码吗?
|
|
|
|
我认为达里奥的答案是正确的,但他忽略了“为什么”。请允许我解释一下。这个问题发生是因为MCU通过“运行”模式转换,因为它是从编程模式出来的。这里是场景:在对设备进行编程时,可能/可能包括EEDATA中的初始值。当程序员退出编程模式时,nMCLR从“编程模式”下降到“复位”,电压在“运行”模式下花费一些时间,并且设备开始执行代码。如果您正在运行一个不错的时钟速率,那么在nMCLR被低速驱动之前,当退出编程模式时,它可能执行几十条甚至数百条指令。如果代码开始写入EdEATA,它会损坏已经编程的程序。这在我身上发生了。这不是程序员的错误,它只是物理和设备是如何工作的。VPP/NMCLR有多快被驱动到地面?在“运行”电压范围内的时间是0;如果我可以用达里奥的建议来推测,我认为100Ms是多余的。IMHO 10ms应该是足够的,至少有10X的误差裕度。如果你需要优化这一次,把一个范围在VPP/NMCLR在您的电路,并测量下降时间从VPP到VSS。适当增加工程保证金,并将其用作您的时间延迟。02美元。
|
|
|
|
是的,谢谢你的解释,丹诺!我只是给出一般的建议,基于“通用思想”更多地涉及外部外围设备、总线、电源稳定等,而你们的是更多“内部”相关的一个!至于“MS”,那么,100毫秒与全寿命相比是什么呢?
|
|
|
|
谢谢,你们都是对的!问题是在我的电压调节器(降压转换器),有一个错误的电容器的输入电压调节器是给予一种“软启动”,大约是100mS,直到电压稳定。此外,在输出上增加电容器后,消除了所有尖峰和噪声,这就是为什么PIC可能没有在正确的时间复位。PIC很可能在EEPROM读写中间复位。因为我有一个硬件启动电源与按钮按下,PIC启动和拉电源控制PIN高,读取EEPROM,做一些功能,并在一些延迟后,它写所有的设置到EEPROM和开关关闭。另外,我有点困惑,因为PIC18F23 K20工作在原始硬件上没有任何问题。一旦我应用了PIC18F25K20(在家庭中较高,由于记忆不足而放置),我开始有这些问题。希望他们现在整理好了,谢谢大家!
|
|
|
|
编写第二个拷贝程序。在设备中的所有编程。经过PIC复位测试。
|
|
|
|
这不是奥地利的一生(100Ms)……格林先生:“到底是什么比较了奥地利一生?”一次在溜冰。
|
|
|
|
在EEPROM中构建第二复制数组数据。控制位构建。如果(ARARY1==ARARY2)继续;
|
|
|
|
只有小组成员才能发言,加入小组>>
5242 浏览 9 评论
2031 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3207 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2256 浏览 5 评论
778浏览 1评论
669浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
596浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
678浏览 0评论
577浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 16:26 , Processed in 1.454001 second(s), Total 91, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号