繁体   English   中英

忽略 WDTE 的 MPLAB xc8 pic16f688 pragma

[英]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 ,这是没有意义的。

我使用其他故障排除方法使我的程序和电路运行。 我想在未来使用调试。 我已经阅读并重新阅读了有关PGDPGC以及在芯片上运行时钟的 PICkit 3 指南。 我的示波器显示我有一个运行时钟(内部 4 MHZ)。 PIC16F688 不使用术语PGDPGC ,但引脚分别标记为ICSPDATICSPCLK 为什么调试不起作用?

有时人们在头文件中定义 OFF 并破坏编译指示。

实际上,每次有人问我这个问题都是如此,所以我 99% 肯定这是你的问题。

永远不要在编译指示之前包含任何标题!!!

正确的方法是:

pragma config  WDTE = OFF
pragma config  PWRTE = OFF

....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM