发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
[问答] PIC16F886配置寄存器验证错误
68 寄存器 存储器
分享
您好,我们正在尝试为每个飞行探测器编写PICF886程序。当对配置寄存器0x400E进行编程时,我们正在编写值0xECFA。这个值是由编译器通过以下配置设置的:#pragma config FOSC=HS//振荡器选择位#pragma config WDTE=ON//Watchdog定时器启用位(WDT启用)#pragma配置PWRTE=OFF//上电定时器启用位(PWRT禁用)#pragma配置MCLRE=ON//RE3/MCLR管脚功能选择位(RE3/MCLR管脚功能是MCLR)#pragma配置CP=OFF//代码保护位(程序存储器代码保护被禁用)#pragma配置g CPD=OFF//数据代码保护位(禁用数据存储器代码保护)#pragma配置BOREN=OFF//Brown输出重置选择位(禁用BOR)#pragma配置IESO=ON//内部外部切换位(启用内部/外部切换模式)#pragma配置FCMEN=ON//Fail-Safe clock Monitor EnabLED bit(Fail-Safe Clock Monitor被启用)#pragma配置LVP=OFF//低压编程Enable bit但当我们读回寄存器以进行验证时,我们读回0x2CFA。我用ICD3验证了这个读回值。不执行,总是读为1。为什么我们在两个位置读回0的值?有可能告诉编译器把这两个比特设置为0吗?对不起,我的英语不好。
0
2019-10-21 12:25:40   评论 分享淘帖 邀请回答

相关问题

10个回答
一样吗?HTTP://www. McCHIP.COM/FUMRS/FUNDPOST/943085
2019-10-21 12:31:22 评论

举报

也许可以改变一个“飞行探测器设置”?
2019-10-21 12:45:34 评论

举报

PIC16中的单词是14位长,所以根本没有14位或15位。这两个位是不可能读或编程的。因此,0xECFA自然地被截断到0x2CFA。
2019-10-21 12:56:23 评论

举报

然后出现的问题是:为什么MPLABX配置位窗口显示位14和15作为1(0xECFA)?为什么这是十六进制文件中的值?这不是假设在验证过程中从PIC中读取值时必须如何处理的吗?在比较之前,程序员需要屏蔽上两位吗?这是否发生在微芯片程序员,而其他制造商可能不知道这是必要的?可能这是一个设备被用于编程PIC的问题,它需要知道,在16F PICS中没有执行高位(可能在编程软件中省略)。
2019-10-21 13:11:59 评论

举报

我不知道编译器为什么要设置这2位。我会把它归类为bug,但是微芯片可能有不同的标准。我总是手动屏蔽它们,以防万一,所以它从来不会发生在我身上:IMHO,无论编译器如何,程序员都不应该尝试编写或验证这些位。如果是这样,我会把它归类为程序员中的一个bug。我知道我的程序员不验证这些位,而且,它不验证任何未实现的配置位。我相信这就是它的工作方式。
2019-10-21 13:30:13 评论

举报

根据数据表的H修订,这些读数为0。
2019-10-21 13:49:14 评论

举报

根据数据表的H修订,这些被读取为什么页面?在数据表的H版本中,附图显示位13作为MSb,而先前版本显示位15和14作为未实现的读为“1”。
2019-10-21 13:58:04 评论

举报

好的,在16F86CFGDATA文件中修改这两行,将配置词转换成0x3FFF。例如:02400 E00 FA2C8A
2019-10-21 14:12:47 评论

举报

似乎是“1”和“0”有你的答案(帖后9)。5颗星,如果我们有的话!
2019-10-21 14:24:09 评论

举报

谢谢大家,1和0提供了一个快速解决方案。首先,这对我来说是可行的。如果他能改变一些设置,我会和FPT开发者谈一谈。
2019-10-21 14:39:36 评论

举报

只有小组成员才能发言,加入小组>>

57个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表