PIC16F884配置字2寄存器(CONFIG2)的操作

2020-02-08 09:14发布

我使用PIC16F884,在编译程序的时候出现了一个错误

Error[491]  0 : can't find 0x2 words for psect "config" in segment "CONFIG"

程序出错代码:
__CONFIG(0X2FE9); //(CONFIG_ADDR)
__CONFIG(0X3EFF); //(CONFIG_ADDR2)

也就是我要在程序中设置 配置字2寄存器 该如何操作,希望大家知道一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
shjw
1楼-- · 2020-02-09 03:06
我以前试过5楼这么定义编译没有通过,错误:Error[491]  0 : can't find 0x2 words for psect "config" in segment "CONFIG",是不是要在编译器设置一下吧?
Yaksa
2楼-- · 2020-02-09 08:40
不需要设置
具体说明见《PIC中档单片机系列参考手册.pdf》
第27章 器件配置位
表27-1 __CONFIG  指令符  ( 来自 Microchip 的头文件 )

如果你看过pic的头文件(比如你用的是PIC16F88x系列的,就看pic16f887.h)
你可以在// Configuration Mask Definitions 节看到具体定义
shjw
3楼-- · 2020-02-09 10:04
上面文档好像没有提到两位配置位怎么写。
david168
4楼-- · 2020-02-09 14:13
 精彩回答 2  元偷偷看……
Yaksa
5楼-- · 2020-02-09 19:58
config2见头文件pic16f887.h 592~604行:
#define CONFIG_ADDR2        0x2008
// Brown-out Reset Voltage
#define BORV21                0x3EFF        // 2.1 Volts
#define BORV40                0x3FFF        // 4.0 Volts
// Flash Memory Write Protection
#if defined(_16F882)
#define WP0                0x3BFF        // Protect 0h-0FFh
#define WP1                0x39FF        // Protect lower half of flash
#else
#define WP0                0x3DFF        // Protect 0h-0FFh
#define WP1                0x3BFF        // Protect lower half of flash
#define WP2                0x39FF        // Protect all of flash
#endif

可以这样设置
__CONFIG(BORV40 &WP0);
shjw
6楼-- · 2020-02-09 21:05
to:8楼
__CONFIG(FCMDIS & DEBUGDIS & LVPDIS & BOREN & PROTECT & IESODIS & MCLREN & PWRTEN & WDTEN & INTIO);
__CONFIG(BORV21 & WP2);
这么定义的话编译没有通过,因为只有我程序定义了两行__CONFIG,一行就没有问题的。编译错误,信息提示在六楼。

一周热门 更多>