Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум Picbasic.ru » Электроника » Проблемы » Глюк PBP или MICROCHIP-a?
Глюк PBP или MICROCHIP-a?
fedonin Дата: Сб, 08.03.2014, 23:35  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 08.03.2014

Статус: Offline

Всем Доброго вечера!
На моей работе мной и моим напарником разработано и внедрено около 10 конструкций на PIC- контроллерах. И PIC16F628A мы не единожды держали в руках, в четырех наших конструкциях работают именно они. В данном случае мы хотим применить его без внешнего кварца, используя PORTA.6 и PORTA.7, как выходы счетчика, считающего до трех. Почему-то, нам при этом удается управлять только PORTA.6. Однако, если мы управляем только PORTA.7, он прекрасно управляется. Думаю, нет смысла прикреплять сам проект, он потребует отдельных пояснений, прикрепляю только проверочный модуль, который прекрасно работает в эмуляторе Real Pic Simulator, но не работает на железе. И еще вопрос: почему PBP3, любезно размещенный на сайте, не принимает ассемблеровскую строку конфигурации, которую принимает РВР2.47?
С уважением к форуму, А.Федонин.
Прикрепления: GLUK.pbp(0Kb)


Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
Сообщение отредактировал fedonin - Сб, 08.03.2014, 23:38
ЯНДЕКС Дата: 08.03.2014
ivan_fd Дата: Вс, 09.03.2014, 02:02  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 899
Репутация: 47   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Почитайте внимательно Migrating existing programs to PBP3.pdf и пропишите правильно биты конфигурации.

Код
#CONFIG  
        __config _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_OFF & _WDTE_OFF & _BODEN_OFF & _INTRC_OSC_NOCLKOUT
#ENDCONFIG


Меня все время преследуют умные мысли...но я быстрее!!!
fedonin Дата: Вс, 09.03.2014, 11:26  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 08.03.2014

Статус: Offline

Добрый День, ivan_fd! Большое спасибо, что откликнулись! Спасибо также за разъяснение про конфигурацию в PBP3, так (#CONFIG...#ENDCONFIG), даже наверное, логичнее, чем на ассемблере. В остальном, пока не вижу смысла уходить с РВР2.47 на PBP3, попробовал перекомпилить на PBP3 некоторые наши программки, если заремаркировать строку конфигурации, то HEX один в один...
И о главном (о вчерашнем глюке): пробовал назначать разные порты, с портами А всегда есть этот глюк, т.е., если мы одновременно пытаемся переключить два или более портов, без каких-либо других команд между ними, то всегда переключается только один, как правило с меньшим номером, естественно не пробовал RA5 (он аппаратно только вход). С портами B все нормально. Начинаю думать, что это аппаратная недоработка MICROCHIP-a, удивительно... Если кому не в лом - проведите эксперимент, нужен только PIC16F628A, два светодиода и пять вольт. Я пробовал на двух экземплярах PIC-ов, и программаторах JDM(IC-PROG) и ChipProg-48 - результат один.
Всем всего доброго!   


Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
Broka Дата: Вс, 09.03.2014, 12:03  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 245
Репутация: 9   ±
Замечания:   ±
На сайте с 30.09.2009

Статус: Offline

fedonin, в смысле не возможно переключить одновременно пины PORTA? wink

Наладчик КИП и А
fedonin Дата: Вс, 09.03.2014, 15:01  |                                                                                                                Сообщение # 5
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 08.03.2014

Статус: Offline

Да, Broka! Если я пишу типа: Пример1 или Пример2, то на эмуляторе все работает, а на железе не работает. То есть, в первом случае мигает (с правильными интервалами) светодиод RА1, а во втором случае непрерывно горит RА2. Похоже, что исполняется только первая строка и не всегда правильно. Пример3 работает и в эмуляторе и на железе нормально, но мне кажется, что конструкция сложновата... При этом, все то же самое на портах В работает нормально, и Пр1, и Пр2, и Пр3. От типа генератора не зависит. В понедельник попробую на работе на PIC16F84, по результату отпишусь.
Всем всего Доброго!
Прикрепления: 8655621.pbp(0Kb) · 3653024.pbp(0Kb) · 4067686.pbp(0Kb)


Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
ivan_fd Дата: Вс, 09.03.2014, 16:46  |                                                                                                                Сообщение # 6
Группа: Модераторы
Ранг:  Специалист
Сообщений: 899
Репутация: 47   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Не знаю, что у Вас там в другой программе, но эти примеры и не будут нормально работать.

Каждый микроконтроллер, для нормальной роботы, сначала нужно настроить (инициализировать).
 Вот это у меня работает прекрасно:

Код
#CONFIG  
        __config _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_OFF & _WDTE_OFF & _BODEN_OFF & _INTRC_OSC_NOCLKOUT
#ENDCONFIG  

porta = 0
trisa = 0
portb = 0
trisb = 0
cmcon = 7

MAIN:         

PORTA.1 = 0  
PORTA.2 = 1
  PAUSE 500
PORTA.1 = 1  
PORTA.2 = 0
  PAUSE 500
  GOTO MAIN

END

Цитата fedonin ()
В остальном, пока не вижу смысла уходить с РВР2.47 на PBP3

  Смысл есть. Хотя бы в том, что он генерирует COFF файлы, для отладки.


Меня все время преследуют умные мысли...но я быстрее!!!
fedonin Дата: Вс, 09.03.2014, 17:20  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 08.03.2014

Статус: Offline

Уважаемый ivan_fd! Конечно же, я не забывал про конфигурацию, правда считаю, что неважно, вписали ли мы ее в шапку, или выставили в меню программатора. Я сгенерил код из Вашей цитаты. Не работает на железе. Работает в эмуляторе. Думаю, отключение компараторов и регистры TRIS не при чем, я пробовал писать например, HIGH PORTA.0 и LOW PORTA.1. Команды HIGH и LOW однозначно переводят соответствующие порты в состояние выходов, но это не все решает. Думаю, глюк глубже, и он может быть связан с библиотечкой этого контроллера в MPLAB. Напоминаю, что на портах В на железе все работает. У этого же контроллера, с, практически этой же программой. Попробую позже на 84-ом, отпишусь. Прилагаю код в HEX и скрин программатора.
Прикрепления: UNTITLED.hex(12Kb) · 5938298.jpg(145Kb)


Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
Сообщение отредактировал fedonin - Вс, 09.03.2014, 17:22
ADMIN Дата: Пн, 10.03.2014, 18:22  |                                                                                                                Сообщение # 8
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1109
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

У 84-го нет porta.6-7 в предлагаемом вами понимании.
fedonin Дата: Пн, 10.03.2014, 20:52  |                                                                                                                Сообщение # 9
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 08.03.2014

Статус: Offline

Конечно, ADMIN! Я не претендую на наличие портов RA6 и RA7 в 84-ом. Я лишь хочу обратить внимание на то, что простейшая программа с одновременным переключением двух или более портов в А-секции 628-го неправильно работает. Только на реальном процессоре, только когда переключение фиксируется паузой, и только на секции А. На В-портах все нормально, все работает (физически). И А-порты исправны, Пример3 из моего поста №5 нормально работает, но мне не нравится, что не работают 1 и 2. На эмуляторах все прекрасно. Я на работе не нашел PIC16F84, а магазин радиодеталей сегодня не работал. Завтра куплю и отпишусь.
С Уважением ко всем, кто откликнулся, А.Федонин.


Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
ivan_fd Дата: Пн, 10.03.2014, 22:43  |                                                                                                                Сообщение # 10
Группа: Модераторы
Ранг:  Специалист
Сообщений: 899
Репутация: 47   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Не поленился, собрал на макетке Ваш пример. Что бы Вы убедились, что все работает как надо.

У Вас MCLR подключен?
Питание в норме?



Меня все время преследуют умные мысли...но я быстрее!!!
MiXaS Дата: Вт, 11.03.2014, 09:28  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 618
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Цитата ivan_fd ()
Не поленился, собрал на макетке Ваш пример


Блин, чуть-чуть не успел. Тоже хотел показать, что все работает. Делал я когда-то управление RGB 3w диодом и порты RA6 RA7 нужно было задействовать. Один задействовал как вход, другой как выход. Все работало, причем писал на PicBasic, камень 16f628a. Может быть контроллер у Вас припаленный? или компилятор кривой?
fedonin Дата: Вт, 11.03.2014, 15:28  |                                                                                                                Сообщение # 12
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 08.03.2014

Статус: Offline

Добрый день всем! Огромное спасибо ivan_fd и MiXaS, что откликнулись и потратили на меня время! Заранее прошу прощения у тех, кого возможно, я рассердил своей настырностью, не хотел... У Вас, Иван, работает, мистика какая-то! У меня по-прежнему не работает, на уже трех экземплярах 628-х (один совершенно новый), порты RA2 и RA3, но работает на PIC16F84 выпуска примерно десятилетней давности, я все-таки нашел его на работе. И порты, если мы один используем, как вход, другой, как выход - все нормально, похоже, только если подряд включаем один, затем другой, затем паузу - тут и происходит глюк. Например, в проекте, который мы делаем, мы вначале хотели лишь получить три аналоговых уровня с этих портов (сила подачи термоклея в зависимости от скорости), это-то и не пошло, а когда стали с помощью них управлять внешней защелкой-счетчиком, все стало нормально. Проект прилагаю. MCLR - использую, 33к, 0,47mkf. Прилагаю скрин конфигурации программатора и видео макетки, прошу прощения за ее корявость, а также HEX-ы. ivan_fd, а выложите Ваши HEX-ы, ага? Всем огромное спасибо за содействие, просто очень хочется разобраться с проблемой...

Добавлено (11.03.2014, 15:28)
---------------------------------------------
PS: не смог прикрепить видео, но поверьте, 84 - мигют оба порта 628 - один...

Прикрепления: NORMBINDER_GLUE.pbp(4Kb) · PROBA_628A.pbp(0Kb) · PROBA_628A.hex(0Kb) · PROBA_84.pbp(0Kb) · PROBA_84.hex(0Kb) · NORMBINDER_GLUE.pbp(4Kb) · 0919558.jpg(294Kb)


Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
Сообщение отредактировал fedonin - Вт, 11.03.2014, 15:26
ivan_fd Дата: Вт, 11.03.2014, 16:10  |                                                                                                                Сообщение # 13
Группа: Модераторы
Ранг:  Специалист
Сообщений: 899
Репутация: 47   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Пожалуйста, вот мой HEX.

Спрашиваю еще раз. У Вас с питанием все в норме?
Почему спрашиваю? Потому, что у меня была такая же ситуация. Доходило в программе до первой паузы, и все зависало. При этом я питал макетку от самого PicKit2 и вывод MCLR не был подключен. Когда запитал от стабильного источника все заработало.
Прикрепления: GLUK.hex(0Kb)


Меня все время преследуют умные мысли...но я быстрее!!!
fedonin Дата: Вт, 11.03.2014, 16:41  |                                                                                                                Сообщение # 14
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 08.03.2014

Статус: Offline

ivan_fd, ПРОШУ ПРОЩЕНИЯ у Вас и у всех, кого побеспокоил этой темой! На моей картонной макетке у одного из светодиодов провод был припаян в обход ограничительного резистора. Получалось, что светодиод нагружал выход, и тот уходил в защиту и отключался. Увидел только сейчас. То есть, и Microchip не виноват, и Microcodestudio... А у PIC16F84, по-видимому, порты при перегрузке не выключаются, а уходят в режим отсечки тока, засвечивая светодиоды. ivan_fd, отдельный Вам респект, не знаю, как поставить "плюсик" Вашей репутации на форуме.
С Уважением ко Всем, А.Федонин. Тему можно закрывать...


Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
Форум Picbasic.ru » Электроника » Проблемы » Глюк PBP или MICROCHIP-a?
Страница 1 из 11
Поиск: