Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PIC18F2550 слово конфигурации
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
balk
вызывает затруднение запись в asm файле битов конфигурации
например , пишу CONFIG PLLDIV=6 , транслятор пропускает
а вот CONFIG CPUDIV=3 ( и любое другое значение ) пишет value not valid

по сему предполагаю, что возможно , пишется для CPUDIV два числа,
а как это делается ?
и почему два бита в CPUDIV не могут быть записаны простым числом от 0 до 3
balk
вообще странно
в значение битого поля ,например, PLLDIV в такой форме записи
CONFIG PLLDIV=6 записывается не b'110', а значение , соответствующее строке divide by 6.
в такой же логике при записи
CONFIG CPUDIV=3 в поле CPUDIV должно вписаться значение , соответствующее строке divide by 3,
однако тарнслятор почему-ио ругается.
balk
Нажмите для просмотра прикрепленного файлав общем, как всегда, вопрос решился, но теория до конца не пройдена.
как-то у Микрочипа разъяснения по поводу правил записи конфигурации отсутствуют.
надыбал такой файлик с мнемоникой битов конфигурации и этим пока уталил жажду знаний
Driver_GV
Посмотрите файл в папке Microchip\MPASM Suite\p18f2550.inc
В нем содержатся описания каждого бита и как они указываются в ASM файле (ближе к концу)

Код
;==========================================================================
;
;   IMPORTANT: For the PIC18 devices, the __CONFIG directive has been
;              superseded by the CONFIG directive.  The following settings
;              are available for this device.
;
;   PLL Prescaler Selection bits:
;     PLLDIV = 1           No prescale (4 MHz oscillator input drives PLL directly)
;     PLLDIV = 2           Divide by 2 (8 MHz oscillator input)
;     PLLDIV = 3           Divide by 3 (12 MHz oscillator input)
;     PLLDIV = 4           Divide by 4 (16 MHz oscillator input)
;     PLLDIV = 5           Divide by 5 (20 MHz oscillator input)
;     PLLDIV = 6           Divide by 6 (24 MHz oscillator input)
;     PLLDIV = 10          Divide by 10 (40 MHz oscillator input)
;     PLLDIV = 12          Divide by 12 (48 MHz oscillator input)
;
;   System Clock Postscaler Selection bits:
;     CPUDIV = OSC1_PLL2   [Primary Oscillator Src: /1][96 MHz PLL Src: /2]
;     CPUDIV = OSC2_PLL3   [Primary Oscillator Src: /2][96 MHz PLL Src: /3]
;     CPUDIV = OSC3_PLL4   [Primary Oscillator Src: /3][96 MHz PLL Src: /4]
;     CPUDIV = OSC4_PLL6   [Primary Oscillator Src: /4][96 MHz PLL Src: /6]
;
;   USB Clock Selection bit (used in Full-Speed USB mode only; UCFG:FSEN = 1):
;     USBDIV = 1           USB clock source comes directly from the primary oscillator block with no postscale
;     USBDIV = 2           USB clock source comes from the 96 MHz PLL divided by 2

......



PS
Аналогично для других камней в соответствующих файлах
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.