www.cncmasterkit.ru • Просмотр темы - Не могу найти файл с константами для конфигурирования PIC18

www.cncmasterkit.ru

ЧПУ своими руками

     · ПРАВИЛА ·

Текущее время: 19 авг 2017, 13:29
Сообщения без ответов | Активные темы

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
Сообщение #1  Добавлено: 27 сен 2015, 00:57 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 05 сен 2011, 00:00
Сообщения: 90
Откуда: г. Ковров, Владимирская обл.
Здравствуйте. Решил тут докопаться до компилятора 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:


Вернуться к началу
 Профиль  
 
Сообщение #2  Добавлено: 27 сен 2015, 11:13 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
Сообщение #3  Добавлено: 27 сен 2015, 11:32 
Не в сети
Станкостроитель
Станкостроитель

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

Сергей, не бейте пока монитор. Может знающие ответ Ваш вопрос ещё не прочитали. Форум немного ленивый стал, на мой взгляд. Может этот вопрос задать на каком-нибудь форуме любителей PIC? Я, :sorry: , в программировании, как и в балете, не "танцую" :)
Попробуйте к Кулхацхеру в ЛС написать.

_________________
2012 год. Мой первый станок.
Скоро тут будет тема про второй станок. Долгостроевский.
2016 год. Мой третий станок.


Последний раз редактировалось aach 27 сен 2015, 11:36, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
Сообщение #4  Добавлено: 27 сен 2015, 11:35 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 05 сен 2011, 00:00
Сообщения: 90
Откуда: г. Ковров, Владимирская обл.
Просто не хотел регистрироваться на очередном форуме, а придется )


Вернуться к началу
 Профиль  
 
Сообщение #5  Добавлено: 27 сен 2015, 11:37 
Не в сети
Смотрящий
Аватара пользователя

Зарегистрирован: 28 авг 2009, 00:00
Сообщения: 7557
Откуда: Украина. Межевая.
Имя: Юрий
aach писал(а):
Попробуйте к Кутлацхеру в ЛС написать.

Именно. Жаль редко бывает, а так - он в этом дока.

_________________
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/


Вернуться к началу
 Профиль  
 
Сообщение #6  Добавлено: 27 сен 2015, 11:39 
Не в сети
Станкостроитель
Станкостроитель

Зарегистрирован: 22 ноя 2011, 09:54
Сообщения: 449
Откуда: Беларусь. Новополоцк.
Имя: Анатолий
Ещё можно обратится на Робозоне к автору контроллера на PIC18F2320, он меня немного консультировал как прошивать, может ответит.

_________________
2012 год. Мой первый станок.
Скоро тут будет тема про второй станок. Долгостроевский.
2016 год. Мой третий станок.


Вернуться к началу
 Профиль  
 
Сообщение #7  Добавлено: 27 сен 2015, 13:13 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
Сообщение #8  Добавлено: 27 сен 2015, 18:58 
Не в сети
Смотрящий
Аватара пользователя

Зарегистрирован: 30 авг 2009, 00:00
Сообщения: 1504
Откуда: Омск
serega555, когда в ЛС пишешь, хотя бы сказал какой компилятор :-)
Я MCC18 не юзал.
Если что-то не работает и есть сомнения, то можешь в тексте программы ничего не прописывать, а фьюзы указать в MPLABе явно галочками.
P.S. C:\mcc18\doc\hlpPIC18ConfigSet.chm смотрел?

_________________
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc


Вернуться к началу
 Профиль  
 
Сообщение #9  Добавлено: 27 сен 2015, 19:23 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 05 сен 2011, 00:00
Сообщения: 90
Откуда: г. Ковров, Владимирская обл.
Да у меня все работает. Я просто хочу понять работу компилятора. Откуда он берет значения битов когда я пишу # pragma config OSC=HSPLL
Цитата:
P.S. C:\mcc18\doc\hlpPIC18ConfigSet.chm смотрел?

Это я смотрел и в доках смотрел. Это все понятно.
Мне вот на другом форуме подсказали, что возможно в каком-то файле есть "костыли" которые переводят # pragma config OSC=HSPLL в __config _OSC_XT_1H.
Но такого файла я тоже не нашел )


Вернуться к началу
 Профиль  
 
Сообщение #10  Добавлено: 27 сен 2015, 19:45 
Не в сети
Смотрящий
Аватара пользователя

Зарегистрирован: 30 авг 2009, 00:00
Сообщения: 1504
Откуда: Омск
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


Вернуться к началу
 Профиль  
 
Сообщение #11  Добавлено: 27 сен 2015, 21:56 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 05 сен 2011, 00:00
Сообщения: 90
Откуда: г. Ковров, Владимирская обл.
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.


Вернуться к началу
 Профиль  
 
Сообщение #12  Добавлено: 27 сен 2015, 22:42 
Не в сети
Смотрящий
Аватара пользователя

Зарегистрирован: 30 авг 2009, 00:00
Сообщения: 1504
Откуда: Омск
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


Вернуться к началу
 Профиль  
 
Сообщение #13  Добавлено: 27 сен 2015, 22:50 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 05 сен 2011, 00:00
Сообщения: 90
Откуда: г. Ковров, Владимирская обл.
koolhatcker писал(а):
Есть. Символы нижнего подчеркивания обозначают предопределённую константу.
И именно после того, как константа определена, в исходнике можно писать OSC=HSPLL, а не _OSC_HSPLL_1H.
Тебе препроцессор жизнь упрощает, а ты её усложнить пытаешься))

Ну хорошо )) .... а откуда препроцессор узнает о соответствии OSC=HSPLL константам с нижним подчеркиванием ?
Я просто хочу понять как это работает )


Вернуться к началу
 Профиль  
 
Сообщение #14  Добавлено: 27 сен 2015, 23:38 
Не в сети
Смотрящий
Аватара пользователя

Зарегистрирован: 30 авг 2009, 00:00
Сообщения: 1504
Откуда: Омск
Рррр...)))
Нижнее подчеркивание как раз и означает константу.
Просто используй для описания битов конфигурации те значения, которые указаны в комментариях в 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


Вернуться к началу
 Профиль  
 
Сообщение #15  Добавлено: 28 сен 2015, 00:03 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

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

Да я понял что директивой EQU значению области памяти (ячейке) присваивается имя (константа). Чтобы было удобней хомосапиенсу )))
Но просто так получать удовольствие не катит. Давайте теперь разберемся как эта константа ставиться в соответствие такой записи: WDT=OFF ))) :ganster:


Вернуться к началу
 Профиль  
 
Сообщение #16  Добавлено: 28 сен 2015, 15:50 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 05 сен 2011, 00:00
Сообщения: 90
Откуда: г. Ковров, Владимирская обл.
Ну что никто не знает и никому не интересно ?


Вернуться к началу
 Профиль  
 
Сообщение #17  Добавлено: 28 сен 2015, 16:29 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 07 ноя 2011, 16:01
Сообщения: 1198
Откуда: Москва
#pragma - это директива управления компилятором. Определения конкретных директив (config и т.п.) находятся внутри компилятора, их описание вкомпилено в конкретную реализацию компилятора.

_________________
Я не Христос, рыбу не раздаю. Но могу научить, как сделать удочку.


Вернуться к началу
 Профиль  
 
Сообщение #18  Добавлено: 28 сен 2015, 21:39 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 05 сен 2011, 00:00
Сообщения: 90
Откуда: г. Ковров, Владимирская обл.
UAVpilot писал(а):
#pragma - это

Да это то как раз понятно.
Вот это
Код:
WDT=OFF

описано где ? Хотите сказать скрыто внутри компилятора и никакого файла нет ? Не может быть.


Вернуться к началу
 Профиль  
 
Сообщение #19  Добавлено: 29 сен 2015, 01:05 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 07 ноя 2011, 16:01
Сообщения: 1198
Откуда: Москва
В парсере компилятора вшит алгоритм преобразования этих слов в константы.

_________________
Я не Христос, рыбу не раздаю. Но могу научить, как сделать удочку.


Вернуться к началу
 Профиль  
 
Сообщение #20  Добавлено: 29 сен 2015, 09:14 
Не в сети
Станкостроитель
Станкостроитель
Аватара пользователя

Зарегистрирован: 05 сен 2011, 00:00
Сообщения: 90
Откуда: г. Ковров, Владимирская обл.
Ну ясно, тогда я отстал ))) Спасибо за просвещение ))
Тему можно закрыть.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Мобильная версия