Глюк PBP или MICROCHIP-a?
|
|
fedonin |
Дата: Сб, 08.03.2014, 23:35 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
13
Замечания:
±
На сайте с 08.03.2014
Статус:
Offline
|
Всем Доброго вечера! На моей работе мной и моим напарником разработано и внедрено около 10 конструкций на PIC- контроллерах. И PIC16F628A мы не единожды держали в руках, в четырех наших конструкциях работают именно они. В данном случае мы хотим применить его без внешнего кварца, используя PORTA.6 и PORTA.7, как выходы счетчика, считающего до трех. Почему-то, нам при этом удается управлять только PORTA.6. Однако, если мы управляем только PORTA.7, он прекрасно управляется. Думаю, нет смысла прикреплять сам проект, он потребует отдельных пояснений, прикрепляю только проверочный модуль, который прекрасно работает в эмуляторе Real Pic Simulator, но не работает на железе. И еще вопрос: почему PBP3, любезно размещенный на сайте, не принимает ассемблеровскую строку конфигурации, которую принимает РВР2.47? С уважением к форуму, А.Федонин.
Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
Сообщение отредактировал
fedonin - Сб, 08.03.2014, 23:38
|
|
|
|
ivan_fd |
Дата: Вс, 09.03.2014, 02:02 | Сообщение # 2 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 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 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
fedonin, в смысле не возможно переключить одновременно пины PORTA?
Наладчик КИП и А
|
|
|
|
fedonin |
Дата: Вс, 09.03.2014, 15:01 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
13
Замечания:
±
На сайте с 08.03.2014
Статус:
Offline
|
Да, Broka! Если я пишу типа: Пример1 или Пример2, то на эмуляторе все работает, а на железе не работает. То есть, в первом случае мигает (с правильными интервалами) светодиод RА1, а во втором случае непрерывно горит RА2. Похоже, что исполняется только первая строка и не всегда правильно. Пример3 работает и в эмуляторе и на железе нормально, но мне кажется, что конструкция сложновата... При этом, все то же самое на портах В работает нормально, и Пр1, и Пр2, и Пр3. От типа генератора не зависит. В понедельник попробую на работе на PIC16F84, по результату отпишусь. Всем всего Доброго!
Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
|
|
|
|
ivan_fd |
Дата: Вс, 09.03.2014, 16:46 | Сообщение # 6 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 08.03.2014
Статус:
Offline
|
Уважаемый ivan_fd! Конечно же, я не забывал про конфигурацию, правда считаю, что неважно, вписали ли мы ее в шапку, или выставили в меню программатора. Я сгенерил код из Вашей цитаты. Не работает на железе. Работает в эмуляторе. Думаю, отключение компараторов и регистры TRIS не при чем, я пробовал писать например, HIGH PORTA.0 и LOW PORTA.1. Команды HIGH и LOW однозначно переводят соответствующие порты в состояние выходов, но это не все решает. Думаю, глюк глубже, и он может быть связан с библиотечкой этого контроллера в MPLAB. Напоминаю, что на портах В на железе все работает. У этого же контроллера, с, практически этой же программой. Попробую позже на 84-ом, отпишусь. Прилагаю код в HEX и скрин программатора.
Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
Сообщение отредактировал
fedonin - Вс, 09.03.2014, 17:22
|
|
|
|
ADMIN |
Дата: Пн, 10.03.2014, 18:22 | Сообщение # 8 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
У 84-го нет porta.6-7 в предлагаемом вами понимании.
|
|
|
|
fedonin |
Дата: Пн, 10.03.2014, 20:52 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
13
Замечания:
±
На сайте с 08.03.2014
Статус:
Offline
|
Конечно, ADMIN! Я не претендую на наличие портов RA6 и RA7 в 84-ом. Я лишь хочу обратить внимание на то, что простейшая программа с одновременным переключением двух или более портов в А-секции 628-го неправильно работает. Только на реальном процессоре, только когда переключение фиксируется паузой, и только на секции А. На В-портах все нормально, все работает (физически). И А-порты исправны, Пример3 из моего поста №5 нормально работает, но мне не нравится, что не работают 1 и 2. На эмуляторах все прекрасно. Я на работе не нашел PIC16F84, а магазин радиодеталей сегодня не работал. Завтра куплю и отпишусь. С Уважением ко всем, кто откликнулся, А.Федонин.
Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
|
|
|
|
ivan_fd |
Дата: Пн, 10.03.2014, 22:43 | Сообщение # 10 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Не поленился, собрал на макетке Ваш пример. Что бы Вы убедились, что все работает как надо.
У Вас MCLR подключен? Питание в норме?
|
|
|
|
MiXaS |
Дата: Вт, 11.03.2014, 09:28 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Цитата ivan_fd ( ) Не поленился, собрал на макетке Ваш пример
Блин, чуть-чуть не успел. Тоже хотел показать, что все работает. Делал я когда-то управление RGB 3w диодом и порты RA6 RA7 нужно было задействовать. Один задействовал как вход, другой как выход. Все работало, причем писал на PicBasic, камень 16f628a. Может быть контроллер у Вас припаленный? или компилятор кривой?
|
|
|
|
fedonin |
Дата: Вт, 11.03.2014, 15:28 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
13
Замечания:
±
На сайте с 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 - один...
Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
Сообщение отредактировал
fedonin - Вт, 11.03.2014, 15:26
|
|
|
|
ivan_fd |
Дата: Вт, 11.03.2014, 16:10 | Сообщение # 13 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Пожалуйста, вот мой HEX.
Спрашиваю еще раз. У Вас с питанием все в норме? Почему спрашиваю? Потому, что у меня была такая же ситуация. Доходило в программе до первой паузы, и все зависало. При этом я питал макетку от самого PicKit2 и вывод MCLR не был подключен. Когда запитал от стабильного источника все заработало.
|
|
|
|
fedonin |
Дата: Вт, 11.03.2014, 16:41 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
13
Замечания:
±
На сайте с 08.03.2014
Статус:
Offline
|
ivan_fd, ПРОШУ ПРОЩЕНИЯ у Вас и у всех, кого побеспокоил этой темой! На моей картонной макетке у одного из светодиодов провод был припаян в обход ограничительного резистора. Получалось, что светодиод нагружал выход, и тот уходил в защиту и отключался. Увидел только сейчас. То есть, и Microchip не виноват, и Microcodestudio... А у PIC16F84, по-видимому, порты при перегрузке не выключаются, а уходят в режим отсечки тока, засвечивая светодиоды. ivan_fd, отдельный Вам респект, не знаю, как поставить "плюсик" Вашей репутации на форуме. С Уважением ко Всем, А.Федонин. Тему можно закрывать...
Работаю на Саратовском полиграфкомбинате, периодически придумываем и изготавливем с коллегами различные конструкции на PIC-контроллерах, создано и работает около 10 различных конструкций.
|
|
|
|
lortqnet |
Дата: Ср, 26.05.2021, 03:14 | Сообщение # 15 |
Группа:
Заблокированные
Ранг:
Новенький
Сообщений:
8
Замечания:
±
На сайте с 25.05.2021
Статус:
Offline
|
LordFilm - кінотеатр, що дозволяє дивитися нові фільми, мультфільми та серіали в хорошому HD 720 якості абсолютно безкоштовно і без реєстрації! Перегляд доступний також на платформах android і iOS. [url=https://lordfilmq.net/] coimhead filmichean[/url] https://lordfilmq.net/
ເບິ່ງຮູບເງົາ online
|
|
|
|