[英]Need to read analog input to a pic16f688 using mplab and xc8 compiler
[英]MPLAB xc8 pic16f688 pragma for WDTE Ignored
使用 #pragma CONFIG = WDTE OFF
我收到一条消息:
WDTE 设置为 ON 我要更改吗?
我确实回答是。
我担心的是其他配置语句是否被忽略? 我说不清。 PIC 新手。 尝试用 PIC16F688 制作 LED 闪光灯。
我让它工作,有点。 我确保#pragma 语句在#include 和#define 之前。 接下来是#pragma
语句块。
#pragma config WDTE = 0x0
#pragma config PWRTE = 0x0
#pragma config MCLRE = 0x0
#pragma config CP = 0x0
#pragma config CPD = 0x0
#pragma config BOREN = 0x1
#pragma config IESO = 0x1
#pragma config FCMEN =0x1
我使用十六进制方法来避免定义 ON 和 OFF 我使用 MPBLAB 在 RUN 下拉菜单下的“设置配置位”来设置位,将它们更改为十六进制。 这仍然给了WDTE
,然后错误消失了,我发现了 PWRTE CP 错误。 我发现我已将 MCLRE 设置为 1,因此将其设置为 0 我仍然收到配置错误消息,但程序运行了。
然后,我只使用了#pragma config CONFIG 0xFF5
语句。 我没有收到配置错误,但警告 0xFF5 将自动截断为0xFFF
。
现在一切都运行了,但是,我无法运行调试。
现在有了这个问题,我想这是一个不同的话题。 然而,问题在于配置字是如何形成的,哪些位构成了该字的一部分。 我试图从一些寄存器中猜测,但一无所获。 很高兴知道。 此外,注意到 0xFFF 将字中的每一位设置为 1 意味着我所有的#pragma config statements (bits) = 1
,这是没有意义的。
我使用其他故障排除方法使我的程序和电路运行。 我想在未来使用调试。 我已经阅读并重新阅读了有关PGD
和PGC
以及在芯片上运行时钟的 PICkit 3 指南。 我的示波器显示我有一个运行时钟(内部 4 MHZ)。 PIC16F688 不使用术语PGD
和PGC
,但引脚分别标记为ICSPDAT
和ICSPCLK
。 为什么调试不起作用?
有时人们在头文件中定义 OFF 并破坏编译指示。
实际上,每次有人问我这个问题都是如此,所以我 99% 肯定这是你的问题。
永远不要在编译指示之前包含任何标题!!!
正确的方法是:
pragma config WDTE = OFF
pragma config PWRTE = OFF
....
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.