Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум Picbasic.ru » Электроника » Проблемы » Pic16f819 подменяет своё имя
Pic16f819 подменяет своё имя
Darvalang Дата: Пт, 08.02.2013, 21:51  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 08.02.2013

Статус: Offline

Собрал 4-х осный станок CNC на данных контроллерах, прекрасно работал. Но тут появилась более прикольная схемка. Повторил, начал компилить хекс из исходника и первая проблема, не нравится ему команда "Loop:", постоянно выделяет строку ошибочной. Заменил "Loop:" командой "Do", скомпилировалось, контроллеры прошились, но работать не захотели. Решил вернуть в исходное, вот тут всё и началось!!!
 При подключении к PICkit-2 они определяются правильно, 16f819, но при попытке прошить начинают кричать, что они 16f777.. ????? Выставил ему то, чего он хочет, заорал, что он 819 и так по кругу..! Выставляешь насильно, с десятой попытки может прошиться, но Verify не проходит, и считывает совсем не то, что записывал. Уже четвёртый день танцы с бубном...! (((
 Есть ли у кого какие соображения?
ЯНДЕКС Дата: 08.02.2013
shaman Дата: Пт, 08.02.2013, 22:20  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 07.11.2011

Статус: Offline

Доброй ночи ,Вы можете более внятно объяснить что у Вас не получается,вот здесь вообще непонятно

(При подключении к PICkit-2 они определяются правильно, 16f819, но при
попытке прошить начинают кричать, что они 16f777.. ????? Выставил ему
то, чего он хочет, заорал, что он 819 и так по кругу..! Выставляешь
насильно, с десятой попытки может прошиться, но Verify не проходит, и
считывает совсем не то, что записывал. )

Сообщение отредактировал shaman - Пт, 08.02.2013, 22:22
Darvalang Дата: Пт, 08.02.2013, 22:31  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 08.02.2013

Статус: Offline

Контролеры отказываются шиться, программатор их определяет совершенно не такими, каковыми они являются.
Прикрепления: 0481996.jpg (95.4 Kb)
shaman Дата: Пт, 08.02.2013, 22:42  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 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
Репутация: 0   ±
Замечания:   ±
На сайте с 08.02.2013

Статус: Offline

Проверил... Вроде ничего такого нет, да и прошивка написана специально под 819.
Вот исходник:
Прикрепления: LB1845_A2917_co.txt (5.4 Kb)
shaman Дата: Пт, 08.02.2013, 23:34  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 07.11.2011

Статус: Offline

Вы сами писали эту прошивку?
Darvalang Дата: Пт, 08.02.2013, 23:42  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 08.02.2013

Статус: Offline

Нет. Даже не помню где взял её (вместе со схемой). В инете найти больше не могу, что бы с автором связаться. И его контактов в шапке исходника нет... (((
shaman Дата: Пт, 08.02.2013, 23:45  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 07.11.2011

Статус: Offline

Просто мне не понятно в прошивке
GoTo Begin
Программа зашла
Begin:
.............
...........
....
А куда она в конце возвращается , она просто останавливается ,нет надписи возврата Goto Begin.
И нет перехода в подпрограмму Loop где происходит прерывание.

Сообщение отредактировал shaman - Пт, 08.02.2013, 23:47
Darvalang Дата: Пт, 08.02.2013, 23:55  |                                                                                                                Сообщение # 9
Группа: Пользователи
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 08.02.2013

Статус: Offline

Я уже понимаю, что не совсем корректно написано. Либо умышленно или просто с ошибками (потому, как распределение портов было не верным, не совпадало со схемой)
Прикрепления: DIR_STEP_for_LB.pdf (19.3 Kb)
shaman Дата: Сб, 09.02.2013, 00:06  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 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
Репутация: 0   ±
Замечания:   ±
На сайте с 08.02.2013

Статус: Offline

В этом я не особо силён, хотя довольно долго работаю с Pic-ами. Буду признателен, если подкорректируешь найденные там ошибки.
ЯНДЕКС Дата: 09.02.2013
anatol Дата: Сб, 09.02.2013, 00:52  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Цитата (Darvalang)
Заменил "Loop:" командой "Do"
Зачем?. Как и то что все легко реализуется на простейшей логике. Скорость шагового двигателя постоянная. команды = направление и старт-стоп.
Цитата (Darvalang)
Контролеры отказываются шиться
Для начала восстанови калибровочные константы и служебную инфу контроллера, у вас 3FFF. Как сделать поищи сам.
Цитата (Darvalang)
Нет. Даже не помню где взял её (вместе со схемой).
5 минут поиска. sad

http://forum.rcdesign.ru/f110/thread86382.html
Darvalang Дата: Сб, 09.02.2013, 01:01  |                                                                                                                Сообщение # 13
Группа: Пользователи
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 08.02.2013

Статус: Offline

при открытом хексе, биты стоят так:
Прикрепления: 4438533.jpg (73.2 Kb)
anatol Дата: Сб, 09.02.2013, 14:43  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 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
Репутация: 0   ±
Замечания:   ±
На сайте с 08.02.2013

Статус: Offline

Блин, всё... Сдаюсь... Есть ли у кого возможность прочитать биты на 819 пике?
Форум Picbasic.ru » Электроника » Проблемы » Pic16f819 подменяет своё имя
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: