|
|
  |
Прошивка PIC16F628A, Не работает в железе |
|
|
|
Jul 1 2014, 12:30
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-05-14
Из: Минск
Пользователь №: 81 582

|
Не помню как там в ChipProg'е, а в WinPic800 можно управлять битами конфигурации. Попробуйте выставить CONFIG.FOSC = b100, то есть задействовать внутренний генератор
|
|
|
|
|
Jul 1 2014, 12:32
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(A. Fig Lee @ Jul 1 2014, 15:14)  A где код? Или надо hex декодировать? Я не автор прошивки :-(. Взял готовую.
|
|
|
|
|
Jul 1 2014, 14:06
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(A. Fig Lee @ Jul 1 2014, 15:14)  A где код? Или надо hex декодировать? Тут еще вопрос возник. На картинке два буфера: 0 -это оригинальная прошивка; 1- это считанный код после программирования PIC. Почему эти буфера так различны? Може проблема в программаторе? Цитата(Voldemari4 @ Jul 1 2014, 16:30)  Не помню как там в ChipProg'е, а в WinPic800 можно управлять битами конфигурации. Попробуйте выставить CONFIG.FOSC = b100, то есть задействовать внутренний генератор Пробовал я различные варианты с битами (видимо плохо пробовал). Вот на картинке варианты для генератора, которые предлагает программатор. Как правильно?
Эскизы прикрепленных изображений
|
|
|
|
|
Jul 1 2014, 15:46
|

Частый гость
 
Группа: Участник
Сообщений: 174
Регистрация: 3-11-06
Из: Санкт-Ленинград
Пользователь №: 21 949

|
Цитата(Archivarius @ Jul 1 2014, 18:06)  Почему эти буфера так различны? Потому, что это - EEPROM. По-видимому, Вы используете обычный режим программирования, а т.к. генератор внутренний и #MCLR отключен, то МК после программирования запускает программу, которая и пишет какие-то данные в EEPROM. Возможно поэтому и девайс не запускается. Установите режим программирования "First Vpp" (может называться как угодно, в общем смысл в том, что сперва надо подавать Vpp, а затем Vdd, а снимать в обратном порядке). Кстати, "я не узнаю Вас в гриме". Что за программатор? Цитата(Archivarius @ Jul 1 2014, 18:06)  Вот на картинке варианты для генератора, которые предлагает программатор Нифига подобного. В хексе всё нормально: внутренний генератор с отключённым #MCLR, правда, зачем-то включён вывод тактовой частоты на CLKOUT. А, понял! Это был вопрос.  Правильно: INTRC oscillator, I/O function on RA6/OSC2/CLKOUT pin (в хексе установлено: INTRC oscillator, CLKOUT function on RA6/OSC2/CLKOUT pin, что тоже должно работать).
--------------------
Obligatus servus.
|
|
|
|
|
Jul 1 2014, 16:39
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(Dmitry Dubrovenko @ Jul 1 2014, 19:46)  Кстати, "я не узнаю Вас в гриме". Что за программатор? Так вроде в первом посте написано "ChipProg-48".
|
|
|
|
|
Jul 2 2014, 14:05
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(A. Fig Lee @ Jul 1 2014, 15:14)  A где код? Или надо hex декодировать? Установил MPLAB IDE. Когда-то собрал программатор для PIC (Н.Хлюпин, Радио 2006, №6) и решил использовать его для прошивки. В прилагаемом файле результат дизассемблирования оригинального HEX (мне это ничего не говорит) программой. Может кто проверит это все и подскажет правильные конфигурационые биты для MPLAB IDE?
|
|
|
|
|
Jul 2 2014, 14:47
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(A. Fig Lee @ Jul 2 2014, 18:22)  А какие сейчас биты стоят? Да я уже с разными битами и прошивал и стирал; а воз и ныне там. Сейсас вот так. При загрузке HEX в MPLAB биты конфигурации выглядят так:
Эскизы прикрепленных изображений
|
|
|
|
|
Jul 5 2014, 08:39
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 7-11-05
Из: Калуга
Пользователь №: 10 558

|
Цитата(A. Fig Lee @ Jul 2 2014, 21:41)  Вроде правильно. Я немного глянул ассемблер. Во первых, прерывания похоже не используются. Во вторых TRISA младшие 6 разрядов на вход, 2 старших разряда на выход. Может там дальше меняется чтото, но это схеме не соответствует.
Надо сидеть, декодировать что там делается. Там какието действия, потом значение добавляется к указателю команд и он от значения этой суммы кудато прыгает. Вам надо самому разобратся, вряд ли ктото будет тратить несколько часов чтобы понятъ код. Спасибо за доходчивое пояснение. Пожалуй забью я на этот вариант. Поищу что-нибудь другое, т.к. в программировании полный НОЛЬ.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|