Microchip
直播中

王涛

7年用户 1206经验值
私信 关注
[问答]

请问什么原因会导致NVM寄存器在0x00被卡住?

我使用的是PIC16F18323、MPLAB X IDE V3.45、XC8 V1.38,在我的主要项目中,我尝试读写内部EEPROM。我用MCC生成了“内存C”。我已经确定,SFRS NVMADR,NVMAT,NVCON1和2都被困在0x00。我无法在代码或SFR内存查看器中更改它们的值。我创建了一个新项目,也使用MCC来简单地测试对内部eeprom的读/写。在同一硬件上运行的测试项目中的一切工作!我可以看到NVMADR、NVMDA、NVCON1和2随着我通过汇编代码而改变。我已经比较了两个项目的汇编代码,它们基本上是相同的。注意,配置寄存器在两个项目中都具有相同的值。我不明白为什么NVM寄存器在我的主项目中不能访问,但是在测试项目中正常工作。有人知道什么原因会导致NVM寄存器在0x00被卡住吗?

回帖(6)

tijing忽忽

2019-11-4 09:37:46
如果您说配置寄存器在两个项目中都是一样的,那么可以合理地得出这样的结论:问题出在别处,但是您所发布的只是config语句?我怀疑你在某些方面有一些不同,或者你没有表现出来的相似之处…
举报

王涛

2019-11-4 09:50:44
这是在工作和非工作项目主文件中的唯一包含语句。#include“mcc_._files/mcc.h”mcc.h,来自非工作测试project的project mcc.h。在工作测试项目中,gnments没有中断。我已经禁用了非工作项目中的中断,但是这没有效果。必须有硅的某些方面防止NVM寄存器被写入。这会是什么?或者IDE在某种程度上屏蔽了对NVM寄存器的写入。
举报

陈晨

2019-11-4 10:10:06
真正的芯片还是模拟器?什么版本的MCC?
举报

王涛

2019-11-4 10:22:44
实际的硬件.@描述该文件为内存提供了驱动API的实现。生成信息:产品修订:MPLAB(C)代码配置器- 4.15设备:PIC16F18323驱动程序版本:2
举报

更多回帖

发帖
×
20
完善资料,
赚取积分