Pic16f819 подменяет своё имя
|
|
Darvalang |
Дата: Пт, 08.02.2013, 21:51 | Сообщение # 1 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
11
Замечания:
±
На сайте с 08.02.2013
Статус:
Offline
|
Собрал 4-х осный станок CNC на данных контроллерах, прекрасно работал. Но тут появилась более прикольная схемка. Повторил, начал компилить хекс из исходника и первая проблема, не нравится ему команда "Loop:", постоянно выделяет строку ошибочной. Заменил "Loop:" командой "Do", скомпилировалось, контроллеры прошились, но работать не захотели. Решил вернуть в исходное, вот тут всё и началось!!! При подключении к PICkit-2 они определяются правильно, 16f819, но при попытке прошить начинают кричать, что они 16f777.. ????? Выставил ему то, чего он хочет, заорал, что он 819 и так по кругу..! Выставляешь насильно, с десятой попытки может прошиться, но Verify не проходит, и считывает совсем не то, что записывал. Уже четвёртый день танцы с бубном...! ((( Есть ли у кого какие соображения?
|
|
|
|
shaman |
Дата: Пт, 08.02.2013, 22:20 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Доброй ночи ,Вы можете более внятно объяснить что у Вас не получается,вот здесь вообще непонятно
(При подключении к PICkit-2 они определяются правильно, 16f819, но при попытке прошить начинают кричать, что они 16f777.. ????? Выставил ему то, чего он хочет, заорал, что он 819 и так по кругу..! Выставляешь насильно, с десятой попытки может прошиться, но Verify не проходит, и считывает совсем не то, что записывал. )
Сообщение отредактировал
shaman - Пт, 08.02.2013, 22:22
|
|
|
|
Darvalang |
Дата: Пт, 08.02.2013, 22:31 | Сообщение # 3 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
11
Замечания:
±
На сайте с 08.02.2013
Статус:
Offline
|
Контролеры отказываются шиться, программатор их определяет совершенно не такими, каковыми они являются.
|
|
|
|
shaman |
Дата: Пт, 08.02.2013, 22:42 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Вы в исходнике правили ошибку! Заменил "Loop:" командой "Do", скомпилировалось, контроллеры прошились, но работать не захотели. Просто в прошивке возможно была надпись Device = 16F777, а Вы прошили другой контроллер 16F819 ,и ее не поменяли ,возможно из за этого он и выдает ошибку. Если есть исходник смотрите там Device = 16FXXX
Сообщение отредактировал
shaman - Пт, 08.02.2013, 22:55
|
|
|
|
Darvalang |
Дата: Пт, 08.02.2013, 23:03 | Сообщение # 5 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
11
Замечания:
±
На сайте с 08.02.2013
Статус:
Offline
|
Проверил... Вроде ничего такого нет, да и прошивка написана специально под 819. Вот исходник:
|
|
|
|
shaman |
Дата: Пт, 08.02.2013, 23:34 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Вы сами писали эту прошивку?
|
|
|
|
Darvalang |
Дата: Пт, 08.02.2013, 23:42 | Сообщение # 7 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
11
Замечания:
±
На сайте с 08.02.2013
Статус:
Offline
|
Нет. Даже не помню где взял её (вместе со схемой). В инете найти больше не могу, что бы с автором связаться. И его контактов в шапке исходника нет... (((
|
|
|
|
shaman |
Дата: Пт, 08.02.2013, 23:45 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Просто мне не понятно в прошивке GoTo Begin Программа зашла Begin: ............. ........... .... А куда она в конце возвращается , она просто останавливается ,нет надписи возврата Goto Begin. И нет перехода в подпрограмму Loop где происходит прерывание.
Сообщение отредактировал
shaman - Пт, 08.02.2013, 23:47
|
|
|
|
Darvalang |
Дата: Пт, 08.02.2013, 23:55 | Сообщение # 9 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
11
Замечания:
±
На сайте с 08.02.2013
Статус:
Offline
|
Я уже понимаю, что не совсем корректно написано. Либо умышленно или просто с ошибками (потому, как распределение портов было не верным, не совпадало со схемой)
|
|
|
|
shaman |
Дата: Сб, 09.02.2013, 00:06 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
И даже если программа зашла в Begin, то там установки контроллера, установки регистров ADCON,а они должны бать в начале программы, и настройка прерываний должна быть другой.
Добавлено (09.02.2013, 00:06) --------------------------------------------- On_Interrupt GoTo Sens ' Перейти на подпрограмму прерываний ........... Goto Main
Sens: Context Save If INTF = 1 Then INTF = 0 : Inc T ' Если было прерывание то увеличиваем переменную на 1 Context Restore ;------------------Основная программа-------------------------------- Main: ......... ............ ............... ..................... Goto Main На протоне это выглядит так
Сообщение отредактировал
shaman - Сб, 09.02.2013, 00:09
|
|
|
|
Darvalang |
Дата: Сб, 09.02.2013, 00:13 | Сообщение # 11 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
11
Замечания:
±
На сайте с 08.02.2013
Статус:
Offline
|
В этом я не особо силён, хотя довольно долго работаю с Pic-ами. Буду признателен, если подкорректируешь найденные там ошибки.
|
|
|
|
anatol |
Дата: Сб, 09.02.2013, 00:52 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Цитата (Darvalang) Заменил "Loop:" командой "Do" Зачем?. Как и то что все легко реализуется на простейшей логике. Скорость шагового двигателя постоянная. команды = направление и старт-стоп. Цитата (Darvalang) Контролеры отказываются шиться Для начала восстанови калибровочные константы и служебную инфу контроллера, у вас 3FFF. Как сделать поищи сам. Цитата (Darvalang) Нет. Даже не помню где взял её (вместе со схемой). 5 минут поиска.
http://forum.rcdesign.ru/f110/thread86382.html
|
|
|
|
Darvalang |
Дата: Сб, 09.02.2013, 01:01 | Сообщение # 13 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
11
Замечания:
±
На сайте с 08.02.2013
Статус:
Offline
|
при открытом хексе, биты стоят так:
|
|
|
|
anatol |
Дата: Сб, 09.02.2013, 14:43 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Цитата Вопрос:Почему при программировании контроллера выдается ошибка в слове Конфигурации (Configuration Word), после которой PICkit2 не распознает контроллер? Ответ:Данная ошибка может быть вызвана установками в слове Конфигурации или кодом программы, использующими выводы PGD или PGC, т.к. это может препятствовать входу контроллера в режим программирования. В данном случае убедитесь, что выбрано в меню Tools→Use VPP First Program Entry. Это позволит решить проблему, при условии, что контроллер запитывается от PICkit2 (VDD).
|
|
|
|
Darvalang |
Дата: Пн, 11.02.2013, 06:14 | Сообщение # 15 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
11
Замечания:
±
На сайте с 08.02.2013
Статус:
Offline
|
Блин, всё... Сдаюсь... Есть ли у кого возможность прочитать биты на 819 пике?
|
|
|
|