Кирилица на дисплее WEH000802 - Страница 2 - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Кирилица на дисплее WEH000802
Кирилица на дисплее WEH000802
xvovanx Дата: Ср, 11.05.2016, 15:50  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 250
Репутация: 12   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата 555serg ()
Допустим, мне нужно будет привязаться к часам реальноговремени, и я конечно же  временные интервалы буду отсчитывать по одному из таймеровчерез прерывание. Возможна ситуация когда микроконтроллер, занят отправкой информациина OLED дисплей, он еще не закончил, а прерывание наступило и откладывается.Таких отложенных ( просроченных ) прерываний за секунду или минуту может накопиться

Если Вы в своей программе будете использовать "железные" прерывания - On_Hardware_Interrupt, а не програмные, то при прерываниях отправка данных на дисплей будет прерываться, а часики будут "атомными" smile
ЯНДЕКС Дата: 11.05.2016
555serg Дата: Ср, 11.05.2016, 18:54  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 50
Репутация: 0   ±
Замечания:   ±
На сайте с 12.12.2011

Статус: Offline

Да Вы правы, прерывания будут инициироваться внутренними модулями PIC контроллера,
а именно таймером TMR0, и таймером TMR1.  Эти прерывания имеют приоритет над
программными. Важные программные " мероприятия " всегда стараюсь выполнять сразу
после выхода из подпрограммы обработчика прерывания. Это делаю для того, что бы 
гарантированно быть уверенным в полном без прерывном выполнении этих " мероприятий ",
- действий. Еще в новой проге которую собираюсь ваять, очень хочется чтобы показания
на OLED индикаторе были железобетонные. Т.е. без всяких сбоев там или каких либо еще
артефактов. И вот вопрос, - как отразится на индикаторе приостановка выдачи 
микроконтроллером управляющих битов на его шине DB4 - DB7, и на выводах RS, R/W и E ?
Понятно что значение аккумулятора и счетчика обратно восстанавливаются, но все же.
Поэтому и интересовался, у кого есть информация по времени исполнения команды по 
выводу шестнадцати и тридцати двух знакомест на индикаторе.
Заранее спасибо за ответ.
mikhail09p Дата: Ср, 11.05.2016, 22:22  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 504
Репутация: 10   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline


Цитата
прерывание наступило и откладывается
Извините, но ЧТО за ересь???
Если прерывание наступило, то оно НЕ прерывается ничем, оно ПРЕРЫВАЕТ программу и ВЫПОЛНЯЕТСЯ !
Цитата
отложенных ( просроченных ) прерываний
аппаратных отложенных - не может быть. Ошибка из-за этого не накапливается. Её нет.

Если интересно, вот часы, смотрите, работают который год. Да, давно забросил DS1307. Плохая микруха.
Прикрепления: Hour_628_muter2.rar(42Kb)

Сообщение отредактировал mikhail09p - Ср, 11.05.2016, 22:47
555serg Дата: Ср, 11.05.2016, 23:05  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 50
Репутация: 0   ±
Замечания:   ±
На сайте с 12.12.2011

Статус: Offline

Михаил, тут вы правы, не так выразился. Имелось в виду, если мне необходимо во что бы то
ни стало выполнить ( закончить ) какой либо процесс, и для этого приходится перед началом
выполнения этого процесса запрещать это самое прерывание ( INTCON 0XXXXXXX  - запретим
в лоб все прерывания ), то в этом случае прерывание если наступило - то откладывается, до
момента поднятия бита GIE.
Это может понадобиться при процедуре записи в EEPROM например.
Если есть желание и время, сможете в протеусе промоделировать и узнать время выполнения
вывода на индикацию ?
Заранее спасибо.

Сообщение отредактировал 555serg - Ср, 11.05.2016, 23:07
xvovanx Дата: Ср, 11.05.2016, 23:58  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 250
Репутация: 12   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата 555serg ()
...запретим в лоб все прерывания ), то в этом случае прерывание если наступило - то откладывается, домомента поднятия бита GIE.Это может понадобиться при процедуре записи в EEPROM например...

Куча схем и аппаратов корректно работают с прерываниями и записью в память и "прерывать прерывания" не понадобилось wink
mikhail09p Дата: Чт, 12.05.2016, 22:29  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 504
Репутация: 10   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline


Цитата
Это может понадобиться при процедуре записи в EEPROM например.
Никогда прерывания ещё не мешали...

Вроде, время вывода одной строчки 16 символов - около 5-6 миллисек. 4 Мгц тактовый. 4 проводной интерфейс.
Но лишнее всё это...

Сообщение отредактировал mikhail09p - Чт, 12.05.2016, 22:34
555serg Дата: Пт, 13.05.2016, 17:40  |                                                                                                                Сообщение # 22
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 50
Репутация: 0   ±
Замечания:   ±
На сайте с 12.12.2011

Статус: Offline

Михаил, большое спасибо, а я уже думал, что никто и не поможет. )))
По поводу записи в EEPROM и о прерываниях. Должно быть разработчики Протона
после формируемого им ASM кода предусмотрели этот момент, вот ни кому и 
не мешало. Но мы то ( вернее я ) об этом мало осведомлены.
Еще рас спасибо.
dimvad Дата: Пт, 13.05.2016, 22:08  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 61
Репутация: 9   ±
Замечания:   ±
На сайте с 20.07.2012

Статус: Offline

Цитата
По поводу записи в EEPROM и о прерываниях. Должно быть разработчики Протона
после формируемого им ASM кода предусмотрели этот момент, вот ни кому и 
не мешало.
Ничего они там не предусмотрели. Нарывался я на эти грабли.
555serg Дата: Сб, 03.12.2016, 17:10  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 50
Репутация: 0   ±
Замечания:   ±
На сайте с 12.12.2011

Статус: Offline

Вот, - еще подтверждение. Как по мне, лучше самим перестраховаться, написав
пару лишних строк чем потом долго и муторно напрягать мозг в поиске причин
почему прога работает не так как необходимо.

Добавлено (03.12.2016, 17:10)
---------------------------------------------
Приветствую всех участников форума ! Работой индикатора WEH001602A настроенного с помощью
всех выше ответивших, не безразличных форумчан - доволен. И что бы не плодить новых тем по 
эксплуатации данного дивайса - рискну задать свой вопрос здесь.
  Данный индикатор работает в составе схемы где есть несколько исполнительных реле и пара 
контакторов. К одному из контакторов подключен двигатель , мощностью около 2 Квт.
В момент выключения контактора коммутирующего этот двигатель - индикатор полностью гаснет,
черный экран. Такое происходит не часто, но хотелось бы этого избежать. Двигатель питается от сети
3 * 380 В. Источник питания микроконтроллера и индикатора трансформаторный, - три одинаковых
трансформатора, обмотки которых соединены звездой, дальше обычный трехфазный мост на 
шести диодах, электролиты и интегральный стабилизатор 7805.
 Кто сталкивался с подобной проблемой, поделитесь опытом ? Заранее спасибо!

ADMIN Дата: Сб, 03.12.2016, 17:49  |                                                                                                                Сообщение # 25
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1109
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Тоже столкнулся с похожей проблемой. Но у меня обычный индикатор 20х4 через i2c расширитель. при срабатывании какого-либо реле (реле на 24 в, находятся на плате) индикатор перестает отображать адекватную информацию. Непонятна история потому, что реле питаются через uln2003. Пока не было возможности в производственных условиях разобраться. На столе все работает идеально. На работающий в шкафу тут же частотник такой реакции нет. Питание- от импульсного блока 24 в, которые преобразуются в 5 через lm2576-5. Сильное подозрение на некачественный импульсник. Хотелось бы также услышать советы по этому поводу
555serg Дата: Сб, 03.12.2016, 18:46  |                                                                                                                Сообщение # 26
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 50
Репутация: 0   ±
Замечания:   ±
На сайте с 12.12.2011

Статус: Offline

Вот, то же самое - на столе работает идеально, а на реальной установке возникают проблемы.
Что интересно, у меня на этой же плате с OLED индикатором WEH001602A находится второй
PIC. Его задача - работа с одним датчиком DS18B20, с двумя кнопками, и с трех сегментным 
светодиодным индикатором, так вот, работа этой схемы ни разу не вызвала нарицания, хотя 
источник питания у обоих микроконтроллеров один и тот же. 
Видно придется подходить к этому комплексно, -  RC цепи на двигателе, синфазный дроссель 
с емкостями на выходе трехфазного выпрямителя, ESR электролиты, тантал.
Но хотелось бы услышать мнения тех кто уже прошел через это!
Заранее спасибо за участие!
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Кирилица на дисплее WEH000802
Страница 2 из 2«12
Поиск: