Такая проблема у меня. Не получается сконфигурировать микроконтроллер Pic18f4550
Использую MPlab последней версии, компилятор hi-tech
Хочу отключить Mclre
Алгоритм действий такой: Нажал window->PicMemoryViews->Configuration Bits
Отключил там MCLRE, нажал Generate source code to Output, в результате получил такой код
Код:
// PIC18F4550 Configuration Bit Settings
#include <htc.h>
//#pragma config CONFIG1L = 0x0
__CONFIG(1, PLLDIV_1 & CPUDIV_OSC1_PLL2 & USBDIV_1);
//#pragma config CONFIG1H = 0x5
__CONFIG(2, FOSC_EC_EC & FCMEN_OFF & IESO_OFF);
//#pragma config CONFIG2L = 0x1F
__CONFIG(3, PWRT_OFF & BOR_ON & BORV_3 & VREGEN_OFF);
//#pragma config CONFIG2H = 0x1F
__CONFIG(4, WDT_ON & WDTPS_32768);
//#pragma config CONFIG3H = 0x3
__CONFIG(5, CCP2MX_ON & PBADEN_ON & LPT1OSC_OFF & MCLRE_OFF);
//#pragma config CONFIG4L = 0x85
__CONFIG(6, STVREN_ON & LVP_ON & ICPRT_OFF & XINST_OFF);
//#pragma config CONFIG5L = 0xF
__CONFIG(7, CP0_OFF & CP1_OFF & CP2_OFF & CP3_OFF);
//#pragma config CONFIG5H = 0xC0
__CONFIG(8, CPB_OFF & CPD_OFF);
//#pragma config CONFIG6L = 0xF
__CONFIG(9, WRT0_OFF & WRT1_OFF & WRT2_OFF & WRT3_OFF);
//#pragma config CONFIG6H = 0xE0
__CONFIG(10, WRTC_OFF & WRTB_OFF & WRTD_OFF);
//#pragma config CONFIG7L = 0xF
__CONFIG(11, EBTR0_OFF & EBTR1_OFF & EBTR2_OFF & EBTR3_OFF);
//#pragma config CONFIG7H = 0x40
__CONFIG(12, EBTRB_OFF);
Вставляю его в программу, нажимаю Build, выдаёт такие ошибки
Код:
error: undefined symbol "USBDIV_1"
error: undefined symbol "CPUDIV_OSC1_PLL2"
error: undefined symbol "PLLDIV_1"
И так по всем переменным.
Убираю все _CONFIG, раскомментирую #pragma config
В результате всё компилируется, но выдаёт варнинги
unknown pragma "config"
При этом конфигурация МК не происходит, всё остаётся по дефолту.
Внимание вопрос знатокам: Как сконфигурировать МК из программы?