Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PIC12F629 и PICC 9.50
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Petrovich
Есть старый проект, компилировался еще 8.05PL1. Работает нормально, вопросов нет. Возникла потребность немного измнить его, перекомпилировал 9.50PL1... не работает вообще! blink.gif Впечатление такое , код вообще не начинает исполнятся. Комилирую опять 8.05... все нормально cranky.gif
Что за проблема в 9.50 .... может ключик какой нужен для 12-ых пиков? С 16-ми и 10-ми все нормально. Кто нибудь сталкивался с этим?
DL36
Цитата(Petrovich @ Jan 11 2007, 22:10) *
Есть старый проект, компилировался еще 8.05PL1. Работает нормально, вопросов нет. Возникла потребность немного измнить его, перекомпилировал 9.50PL1... не работает вообще! blink.gif Впечатление такое , код вообще не начинает исполнятся. Комилирую опять 8.05... все нормально cranky.gif
Что за проблема в 9.50 .... может ключик какой нужен для 12-ых пиков? С 16-ми и 10-ми все нормально. Кто нибудь сталкивался с этим?

А компилируется без ошибок?
У меня было когда компилятор просто игнорировал строки, при этом ошибок не выдавал. Ошибку нашел когда начал асмовский код просматривать. Нашедши ошибку таким образом, проанализировал исходный код и понял свою ошибку. В 9.50PL1 требования более жестские проблема скорее в этом.
LordN
9.50PL1 глюковатый. Петрович, ищите тут ссылки на более свежий или пользуйтесь 8-м. кста, та версия меня ни разу не подводила..
Petrovich
Ошибок компилятор ни каких не выдает. И кстати, код после 9.50 не работает в протеусе, а после 8.05 работает....

Вроде и 9.50 свежее не бывает, майский или есть уже свежее?
Andy_F
В версиях 9.50 есть "особенности" wink.gif Периодически пробую новые версии, и "откатываюсь" назад, на 8.xx . В частности, у меня под 9.50 некорректно работает экспоненциальное скользящее среднее (EMA) - работает-работает, потом "взбрыкнёт", потом дальше работает. Под 8-кой всё нормально. Кстати, такое же сообщение (о EMA) видел на форуме Microchip'а.
Petrovich
То же самое sad.gif
В связи с этим вопрос, а как установить два компилятора, и 8.05 и 9.50?
LordN
Цитата
как установить два компилятора, и 8.05 и 9.50?

девятка от иваныча ставится спокойно и ничего взамен не просит. у меня стоят все версии девяток для шешнадцатых и осьмнадцатых какие были. в мыпылабе просто переключается компилляр - и алга.
LordN
p.s. може я скажу какую-нить крамолу - но у меня были определённые траблы при первом переходе с восьмёрки на девятку.
во-первых, нужно поставть свежий мплаб.
во-вторых, нужно пересмотреть структуру проекта.
Petrovich
Что вы понимаете пода структурой пректа? не работает даже вот это:
main()
{
TRIS = 0;
while(1)
{
GP0 = 1;
GP0 = 0;
}
}

Что тут не так со структурой? wink.gif
LordN
Цитата
не работает даже вот это:
тоды ой.. smile.gif
vanner
Цитата
Что вы понимаете пода структурой пректа? не работает даже вот это:
main()
{
TRIS = 0;
while(1)
{
GP0 = 1;
GP0 = 0;
}
}


А что вы хотели увидить в результате? Если дерганье ноги GP0, то его реально не будет. Потому что по умолчанию ноги стоят как аналоговые входы. И не стоит сильно доворять протеусу и др. симуляторам.
Petrovich
А TRIS = 0; по Вашему что делает? wink.gif
vanner
Читайте даташит, он на этот чип даже на русском есть. TRISIO управляет направлением цифровых входов. По умолчанию эти ноги настроены как аналоговые входы компаратора. Для использования порта в режиме цифровых входов/выходов нужно сначала их настроить, смотри регистры CMCON и ANSEL.
Petrovich
Все настроенно как надо. В том примере что я привел я пропустил настройку компараторов. Спор здесь бессмыслен. Вопрос задавался не для дискусси, а для решения проблемы. Возьмите 12-тый пик откомпилируйте 9.50 и убедитесь, а не теоретизируйте на тему ошибок кода. И Протеус тут не причем, не работает в реальности.
Все.. тема закрыта ввиду бесперспективности
urry1
Цитата(Petrovich @ Jan 15 2007, 23:15) *
Возьмите 12-тый пик откомпилируйте 9.50 и убедитесь, а не теоретизируйте на тему ошибок кода. И Протеус тут не причем, не работает в реальности.
Все.. тема закрыта ввиду бесперспективности

Я недавно компилировал 12ф675 и 12с509а. Все прекрасно работает. Не будет ли наглостью предположить, что Вы командой - стереть все - затерли крайнее слово пика - возврат с калибровочным значением ... Прочитайте последнее слово и если там - 3ффф, то поставьте ручками 3480 - среднее значение частоты. Присоединяю свой файл ... Рабочий... smile.gif
Stepanyuk
Цитата(urry1 @ Jan 23 2007, 05:15) *
Я недавно компилировал 12ф675 и 12с509а. Все прекрасно работает. Не будет ли наглостью предположить, что Вы командой - стереть все - затерли крайнее слово пика - возврат с калибровочным значением ... Прочитайте последнее слово и если там - 3ффф, то поставьте ручками 3480 - среднее значение частоты. Присоединяю свой файл ... Рабочий... smile.gif


А при чём тут калибровка внутреннего генератора? Может у товарища внешний источник тактовой...
urry1
может. но вопрос стоял так - вы компилировали... компилировали..
Petrovich
Проверил. Взял новый ни разу не стиравшийся пик, прописал....проверил, записанно то что надо. Включаю ... не рабтает! angry.gif
Компилирую в 8.50 , записываю....все работает!
Может это свойственно только 629-тым ?
Да и содержимое osccal влияет только на значение частоты, а не на ее наличие, разве нет?
В общем проблема остается.
urry1
Цитата(Petrovich @ Jan 27 2007, 01:10) *
Да и содержимое osccal влияет только на значение частоты, а не на ее наличие, разве нет?

ну.. там retlw oscal .. Да, согласен, бред... А можно hex глянуть ?
Petrovich
Выяснил ... 9.50 автоматически генерирует в стартапе процедуру записи osccal
Как только она выполняется, контролер виснет. Если ее забить в хексе, то все работает. 8.05 в стартапе такого не генерирует. Вроде как это можно отключить опцией -RUNTIME с параметрами, но что то мне пока не удалось.
urry1
гы.. я на этом тоже накололся ... Поэтому и подсказал. smile.gif
Прочитайте последнее слово и если там - 3ффф, то поставьте ручками 3480 - среднее значение частоты.
Petrovich
Не помагает
urry1
hex, пожалуйста
Petrovich
Проблема решена вот такой опцией компилятора --RUNTIME=default,-osccal
Все работает. И в жизни и в протеусе.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.