Не могу найти файл с константами для конфигурирования PIC18

помощь начинающим осваивать программирование МК (PIC, AVR) на Си.

Модератор: koolhatcker

Ответить
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Не могу найти файл с константами для конфигурирования PIC18

Сообщение serega555 »

Здравствуйте. Решил тут докопаться до компилятора MCC18 (Среда MPLAB). Посмотреть откуда он берет инфу для конфигурирования PIC18F2585.
Все знают, что для конфигурации нужно написать,например, следующее:

Код: Выделить всё

# pragma config OSC=LP, WDT=OFF
и так далее.
Компилятор должен увидеть в подключаемом файле (.h либо .INC) шестнадцатеричные значения констант OSC, LP, WDT, OFF и др.
Так вот, я посмотрел файл .h, там такого нет. В файле .INC есть только старый вариант конфигурационных констант, а именно:

Код: Выделить всё

_OSC_LP_1H    EQU     H'F0'
_OSC_XT_1H    EQU     H'F1'
и так далее.
Конкретно констант OSC, LP, WDT, OFF в этих файлах нет. Откуда тогда компилятор берет информацию. Подскажите, а то я
наверно скоро монитор разобью :ganster:
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

Ну чего никто не знает где искать ?
aach
Станкостроитель
Станкостроитель
Сообщения: 466
Зарегистрирован: 22 ноя 2011, 09:54
Имя: Анатолий
Откуда: Беларусь. Новополоцк.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение aach »

serega555 писал(а):Ну чего никто не знает где искать ?
Сергей, не бейте пока монитор. Может знающие ответ Ваш вопрос ещё не прочитали. Форум немного ленивый стал, на мой взгляд. Может этот вопрос задать на каком-нибудь форуме любителей PIC? Я, :sorry: , в программировании, как и в балете, не "танцую" :)
Попробуйте к Кулхацхеру в ЛС написать.
Последний раз редактировалось aach 27 сен 2015, 11:36, всего редактировалось 1 раз.
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

Просто не хотел регистрироваться на очередном форуме, а придется )
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение Dj_smart »

aach писал(а):Попробуйте к Кутлацхеру в ЛС написать.
Именно. Жаль редко бывает, а так - он в этом дока.
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
aach
Станкостроитель
Станкостроитель
Сообщения: 466
Зарегистрирован: 22 ноя 2011, 09:54
Имя: Анатолий
Откуда: Беларусь. Новополоцк.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение aach »

Ещё можно обратится на Робозоне к автору контроллера на PIC18F2320, он меня немного консультировал как прошивать, может ответит.
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

Написал в ЛС Кутлацхеру и еще на двух форумах. Пока глухо. ПАМАГИТЕЕЕЕЕЕЕЕ !
koolhatcker
Смотрящий
Сообщения: 1504
Зарегистрирован: 30 авг 2009, 00:00
Откуда: Омск
Контактная информация:

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение koolhatcker »

serega555, когда в ЛС пишешь, хотя бы сказал какой компилятор :-)
Я MCC18 не юзал.
Если что-то не работает и есть сомнения, то можешь в тексте программы ничего не прописывать, а фьюзы указать в MPLABе явно галочками.
P.S. C:\mcc18\doc\hlpPIC18ConfigSet.chm смотрел?
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

Да у меня все работает. Я просто хочу понять работу компилятора. Откуда он берет значения битов когда я пишу # pragma config OSC=HSPLL
P.S. C:\mcc18\doc\hlpPIC18ConfigSet.chm смотрел?
Это я смотрел и в доках смотрел. Это все понятно.
Мне вот на другом форуме подсказали, что возможно в каком-то файле есть "костыли" которые переводят # pragma config OSC=HSPLL в __config _OSC_XT_1H.
Но такого файла я тоже не нашел )
koolhatcker
Смотрящий
Сообщения: 1504
Зарегистрирован: 30 авг 2009, 00:00
Откуда: Омск
Контактная информация:

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение koolhatcker »

serega555, троллишь что ли))?
Не поленился, скачал MCC18.
В файлах *.h всё прописано черным по белому...

/*-------------------------------------------------------------------------
* CONFIG1H (0x300001)
*-------------------------------------------------------------------------*/
#define _CONFIG1H_DEFAULT 0xE7
#define _OSC_LP_1H 0xF8
#define _OSC_XT_1H 0xF9
#define _OSC_HS_1H 0xFA
#define _OSC_RC_1H 0xFB
#define _OSC_EC_1H 0xFC
#define _OSC_ECIO_1H 0xFD
#define _OSC_HSPLL_1H 0xFE
#define _OSC_RCIO_1H 0xFF

#define _OSCS_ON_1H 0xDF
#define _OSCS_OFF_1H 0xFF
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

koolhatcker писал(а):serega555, троллишь что ли))?
Не поленился, скачал MCC18.
В файлах *.h всё прописано черным по белому...

/*-------------------------------------------------------------------------
* CONFIG1H (0x300001)
*-------------------------------------------------------------------------*/
#define _OSC_HSPLL_1H 0xFE
Да совсем не тролю, я серьезно. То что вы привели у меня не в *.h, а в *.inc файлах.
И тем не менее разница между OSC=HSPLL и _OSC_HSPLL_1H есть ?
Есть. В исходнике я пишу #pragma config OSC=HSPLL & WDT = OFF ... (а НЕ #pragma config _OSC_HSPLL_1H & и так далее).
Что такое, например, OFF для компилятора ? Где это прописано ?
Вот мой h файл http://cncfiles.su/download/4893
А вот inc http://cncfiles.su/download/4894
Ткните меня носом где там OSC, HSPLL, WDT, OFF.
koolhatcker
Смотрящий
Сообщения: 1504
Зарегистрирован: 30 авг 2009, 00:00
Откуда: Омск
Контактная информация:

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение koolhatcker »

serega555 писал(а): И тем не менее разница между OSC=HSPLL и _OSC_HSPLL_1H есть ?
Есть. Символы нижнего подчеркивания обозначают предопределённую константу.
В исходнике я пишу #pragma config OSC=HSPLL & WDT = OFF ... (а НЕ #pragma config _OSC_HSPLL_1H & и так далее).
И именно после того, как константа определена, в исходнике можно писать OSC=HSPLL, а не _OSC_HSPLL_1H.
Тебе препроцессор жизнь упрощает, а ты её усложнить пытаешься))
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

koolhatcker писал(а): Есть. Символы нижнего подчеркивания обозначают предопределённую константу.
И именно после того, как константа определена, в исходнике можно писать OSC=HSPLL, а не _OSC_HSPLL_1H.
Тебе препроцессор жизнь упрощает, а ты её усложнить пытаешься))
Ну хорошо )) .... а откуда препроцессор узнает о соответствии OSC=HSPLL константам с нижним подчеркиванием ?
Я просто хочу понять как это работает )
koolhatcker
Смотрящий
Сообщения: 1504
Зарегистрирован: 30 авг 2009, 00:00
Откуда: Омск
Контактная информация:

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение koolhatcker »

Рррр...)))
Нижнее подчеркивание как раз и означает константу.
Просто используй для описания битов конфигурации те значения, которые указаны в комментариях в inc файле и получай от этого удовольствие))).
;==========================================================================
;
; IMPORTANT: For the PIC18 devices, the __CONFIG directive has been
; superseded by the CONFIG directive. The following settings
; are available for this device.
;
; Oscillator Selection bits:
; OSC = LP LP oscillator
; OSC = XT XT oscillator
; OSC = HS HS oscillator
; OSC = RC External RC oscillator, CLKO function on RA6
; OSC = EC EC oscillator, CLKO function on RA6
; OSC = ECIO EC oscillator, port function on RA6
; OSC = HSPLL HS oscillator, PLL enabled (Clock Frequency = 4 x FOSC1)
и т.д.
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

koolhatcker писал(а):Рррр...)))
Нижнее подчеркивание как раз и означает константу.
Просто используй для описания битов конфигурации те значения, которые указаны в комментариях в inc файле и получай от этого удовольствие))).
Да я понял что директивой EQU значению области памяти (ячейке) присваивается имя (константа). Чтобы было удобней хомосапиенсу )))
Но просто так получать удовольствие не катит. Давайте теперь разберемся как эта константа ставиться в соответствие такой записи: WDT=OFF ))) :ganster:
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

Ну что никто не знает и никому не интересно ?
UAVpilot
Станкостроитель
Станкостроитель
Сообщения: 1198
Зарегистрирован: 07 ноя 2011, 16:01
Откуда: Москва

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение UAVpilot »

#pragma - это директива управления компилятором. Определения конкретных директив (config и т.п.) находятся внутри компилятора, их описание вкомпилено в конкретную реализацию компилятора.
Я не Христос, рыбу не раздаю. Но могу научить, как сделать удочку.
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

UAVpilot писал(а):#pragma - это
Да это то как раз понятно.
Вот это описано где ? Хотите сказать скрыто внутри компилятора и никакого файла нет ? Не может быть.
UAVpilot
Станкостроитель
Станкостроитель
Сообщения: 1198
Зарегистрирован: 07 ноя 2011, 16:01
Откуда: Москва

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение UAVpilot »

В парсере компилятора вшит алгоритм преобразования этих слов в константы.
Я не Христос, рыбу не раздаю. Но могу научить, как сделать удочку.
serega555
Станкостроитель
Станкостроитель
Сообщения: 103
Зарегистрирован: 05 сен 2011, 00:00
Откуда: г. Ковров, Владимирская обл.

Re: Не могу найти файл с константами для конфигурирования PI

Сообщение serega555 »

Ну ясно, тогда я отстал ))) Спасибо за просвещение ))
Тему можно закрыть.
Ответить