Полная версия этой страницы:
PIC12F629 и PICC 9.50
Petrovich
Jan 11 2007, 21:10
Есть старый проект, компилировался еще 8.05PL1. Работает нормально, вопросов нет. Возникла потребность немного измнить его, перекомпилировал 9.50PL1... не работает вообще!

Впечатление такое , код вообще не начинает исполнятся. Комилирую опять 8.05... все нормально
Что за проблема в 9.50 .... может ключик какой нужен для 12-ых пиков? С 16-ми и 10-ми все нормально. Кто нибудь сталкивался с этим?
Цитата(Petrovich @ Jan 11 2007, 22:10)

Есть старый проект, компилировался еще 8.05PL1. Работает нормально, вопросов нет. Возникла потребность немного измнить его, перекомпилировал 9.50PL1... не работает вообще!

Впечатление такое , код вообще не начинает исполнятся. Комилирую опять 8.05... все нормально
Что за проблема в 9.50 .... может ключик какой нужен для 12-ых пиков? С 16-ми и 10-ми все нормально. Кто нибудь сталкивался с этим?
А компилируется без ошибок?
У меня было когда компилятор просто игнорировал строки, при этом ошибок не выдавал. Ошибку нашел когда начал асмовский код просматривать. Нашедши ошибку таким образом, проанализировал исходный код и понял свою ошибку. В 9.50PL1 требования более жестские проблема скорее в этом.
9.50PL1 глюковатый. Петрович, ищите тут ссылки на более свежий или пользуйтесь 8-м. кста, та версия меня ни разу не подводила..
Petrovich
Jan 11 2007, 23:22
Ошибок компилятор ни каких не выдает. И кстати, код после 9.50 не работает в протеусе, а после 8.05 работает....
Вроде и 9.50 свежее не бывает, майский или есть уже свежее?
Andy_F
Jan 12 2007, 00:00
В версиях 9.50 есть "особенности"

Периодически пробую новые версии, и "откатываюсь" назад, на 8.xx . В частности, у меня под 9.50 некорректно работает экспоненциальное скользящее среднее (EMA) - работает-работает, потом "взбрыкнёт", потом дальше работает. Под 8-кой всё нормально. Кстати, такое же сообщение (о EMA) видел на форуме Microchip'а.
Petrovich
Jan 12 2007, 22:41
То же самое
В связи с этим вопрос, а как установить два компилятора, и 8.05 и 9.50?
Цитата
как установить два компилятора, и 8.05 и 9.50?
девятка от иваныча ставится спокойно и ничего взамен не просит. у меня стоят все версии девяток для шешнадцатых и осьмнадцатых какие были. в мыпылабе просто переключается компилляр - и алга.
p.s. може я скажу какую-нить крамолу - но у меня были определённые траблы при первом переходе с восьмёрки на девятку.
во-первых, нужно поставть свежий мплаб.
во-вторых, нужно пересмотреть структуру проекта.
Petrovich
Jan 13 2007, 14:32
Что вы понимаете пода структурой пректа? не работает даже вот это:
main()
{
TRIS = 0;
while(1)
{
GP0 = 1;
GP0 = 0;
}
}
Что тут не так со структурой?
Цитата
не работает даже вот это:
тоды ой..
vanner
Jan 15 2007, 10:37
Цитата
Что вы понимаете пода структурой пректа? не работает даже вот это:
main()
{
TRIS = 0;
while(1)
{
GP0 = 1;
GP0 = 0;
}
}
А что вы хотели увидить в результате? Если дерганье ноги GP0, то его реально не будет. Потому что по умолчанию ноги стоят как аналоговые входы. И не стоит сильно доворять протеусу и др. симуляторам.
Petrovich
Jan 15 2007, 15:41
А TRIS = 0; по Вашему что делает?
vanner
Jan 15 2007, 15:56
Читайте даташит, он на этот чип даже на русском есть. TRISIO управляет направлением цифровых входов. По умолчанию эти ноги настроены как аналоговые входы компаратора. Для использования порта в режиме цифровых входов/выходов нужно сначала их настроить, смотри регистры CMCON и ANSEL.
Petrovich
Jan 15 2007, 22:15
Все настроенно как надо. В том примере что я привел я пропустил настройку компараторов. Спор здесь бессмыслен. Вопрос задавался не для дискусси, а для решения проблемы. Возьмите 12-тый пик откомпилируйте 9.50 и убедитесь, а не теоретизируйте на тему ошибок кода. И Протеус тут не причем, не работает в реальности.
Все.. тема закрыта ввиду бесперспективности
Цитата(Petrovich @ Jan 15 2007, 23:15)

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

Я недавно компилировал 12ф675 и 12с509а. Все прекрасно работает. Не будет ли наглостью предположить, что Вы командой - стереть все - затерли крайнее слово пика - возврат с калибровочным значением ... Прочитайте последнее слово и если там - 3ффф, то поставьте ручками 3480 - среднее значение частоты. Присоединяю свой файл ... Рабочий...

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

Да и содержимое osccal влияет только на значение частоты, а не на ее наличие, разве нет?
ну.. там retlw oscal .. Да, согласен, бред... А можно hex глянуть ?
Petrovich
Jan 30 2007, 13:29
Выяснил ... 9.50 автоматически генерирует в стартапе процедуру записи osccal
Как только она выполняется, контролер виснет. Если ее забить в хексе, то все работает. 8.05 в стартапе такого не генерирует. Вроде как это можно отключить опцией -RUNTIME с параметрами, но что то мне пока не удалось.
гы.. я на этом тоже накололся ... Поэтому и подсказал.

Прочитайте последнее слово и если там - 3ффф, то поставьте ручками 3480 - среднее значение частоты.
Petrovich
Jan 31 2007, 11:31
Не помагает
Petrovich
Jan 31 2007, 12:50
Проблема решена вот такой опцией компилятора --RUNTIME=default,-osccal
Все работает. И в жизни и в протеусе.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.