Заводил, работает, но я переделал SPI на программный ногодрыг, а также переделал вывод шрифта, так как было лень разбираться с авторской задумкой. Дисплей 200х200.
добавлено: Нашел дома какой-то кусок со шрифтом. Должен как-то работать.
Уважаемые знатоки, кто-нибудь заводил дисплеи e-ink на Bascom ?
Вот тут нашел пример, но никак не заводится ! У меня дисплей 1,54" 200х200 с платой, с Алика.
Предварительная причина неработоспособности - выпуск обновленных дисплеев версии 2, об этом написано на сайте производителя Waveshare. Одинаковые дисплеи Версии 1 и версии 2 несовместимы, у них отличается первоначальная инициализация. А команды, как я понял, совпадают.
Цитата:
The 1.54inch e-Paper is updated to 1.54inch e-Paper V2 version. Codes of the two version are not compatible with each other. Except for the controller and codes, the new V2 version is exactly the same as the old one. If you are users of the old version, you need to update your codes as well for your new order.
Сейчас на Али продаются дисплеи второй версии, библиотека Баском писалась под первую версию.
Для экспериментов купил Arduino Nano, скачал тестовые библиотеки - дисплеи работают только с новой V2 библиотекой. Но в Ардуино я - как балерина в тракторе...
Поэтому, если вдруг кто-то может разобрать библиотеку Ардуины и адаптировать ее под наш Баском - было бы здОрово. Библиотеки могу выслать.
Спасибо.
PS: сами по себе дисплеи интересные, могут показывать картинку при полном отсутствии питания и управления. Вывел нужную информацию - и спать. Можно вообще вынуть дисплей из схемы - и он будет показывать выведенную картинку бесконечно долго. Для энергоемких показометров - самое оно. Недостаток - медленное обновление всего дисплея, около 2 секунд. Но поддерживается быстрое частичное обновление, допустим, число на дисплее.
У меня тоже получилось несколько лет тому назад. дисплеи GDEW0154Z17 подключал дисплеи с диагональю - 1,54(152х152)/2,6(152х304)/4,2(400х390) Есть для баскома несколько функций для отображения штатных шрифтов и картинок. Дисплеи на 3 цвета. Если будет интерес, выложу. Но они корявые. Под софтверный и железный интерфейс Только, надо понимать что в течении 1-2 месяцев при ежеминутном обновлении дисплей умрет.
Если будет интерес, выложу. Но они корявые. Под софтверный и железный интерфейс Только, надо понимать что в течении 1-2 месяцев при ежеминутном обновлении дисплей умрет.
Супер, покажите, пожалуйста, что у вас есть. Только, раз вы это делали несколько лет назад - боюсь, что это было под первый вариант дисплеев. Но попробовать стоит.
Мой планируемый показометр будет обновлять данные не чаще одного раза в 30-60 минут. А что в этих дисплеях может умереть ?
Прикрепил архив. Там две папки - одни и те же проекты, только разные степени готовности. под разные дисплеи. Также (третья папка) исходники проектов для конвертирования картинок и создания шрифтов на .net у visual studio
часы применял - pcf2129, градусник с барометром - mpl115a2.
Код корявый, делал сам, как умел. Делать с им можете что хотите. По поводу вопросов по примененным методам - строкой выше. По поводу вопросов - почему так что то реализовано а не иначе - могу и не вспомнить, делал в 2017 году. Но это точно работает.
Даташитов на свои дисплеи уже не нашел. наверное остались на старом пк.
настройка подключения дисплея в этой секции (разберетесь) -
Код:
'_____|
Busy Alias Pind.0 : Config Busy = Input : Set Busy 'Display Enable Power_epd Alias Portd.2 : Config Power_epd = Output : Reset Power_epd 'Display Power Enable Ep_res Alias Portd.3 : Config Ep_res = Output 'Reset Dc Alias Portd.4 : Config Dc = Output 'Data/command Ce Alias Portd.5 : Config Ce = Output 'Display Enable Mclk Alias Portd.6 : Config Mclk = Output 'SPI CLOK Dat Alias Portd.7 : Config Dat = Output 'SPI DATA '_____|
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс май 24, 2020 16:19:34
Родился
Зарегистрирован: Вс мар 11, 2018 13:24:43 Сообщений: 2
Рейтинг сообщения:0
Всем привет. Первая программа в протеусе работает. Можете подсказать есть ли в ней ошибки? Как сделать опрос кнопок без задержек? $Regfile="attiny13a.dat" $Crystal=8000000 '$hwstack=16 '$swstack=16 '$framesize=16
Я не понимаю до конца, что должна делать эта программа. Попытался вникнуть в задумку: $Regfile="attiny13a.dat" $Crystal=8000000 $hwstack=16 $swstack=16 $framesize=16
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс май 24, 2020 19:40:37
Родился
Зарегистрирован: Вс мар 11, 2018 13:24:43 Сообщений: 2
Рейтинг сообщения:0
В машину хочу поставить привод для открытия багажника с наружи, сигнализация стоит штатная и на ней нет выхода состояния откр/Закр, сигнал с центр замка хочу подать на порт b3,b4. Pinb1 для кнопки открыть багажник pinb0 выход на реле привода. Portb2 светодиод для визуального контроля состояния
В машину хочу поставить привод для открытия багажника с наружи, сигнализация стоит штатная и на ней нет выхода состояния откр/Закр, сигнал с центр замка хочу подать на порт b3,b4. Pinb1 для кнопки открыть багажник pinb0 выход на реле привода. Portb2 светодиод для визуального контроля состояния
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт май 28, 2020 15:56:09
Родился
Зарегистрирован: Чт май 28, 2020 15:06:53 Сообщений: 1
Рейтинг сообщения:0
Доброго времени суток. Возникла проблема, я новичок в мк и программировании, сижу и разбираю программу часов написаной в BASCOM-AVR, всё вроде бы понятно но есть одно но: на мк подвешен часовой кварц, частота его определена в 8мгц, а предделитель у таймера стоит на 8. Почему именно на 8? Заранее спасибо! Вот код(автор p-a-h-a): $regfile = "m8def.dat" $crystal = 8000000 Config Portb = Output , Portd = Output : Portc = &H30 Dim X As Byte , Cifri(4) As Byte 'задаем всякие переменные и масивы ' Config Clock = Soft ' конфигурируем совтовые часы Config Timer0 = Timer , Prescale = 8 : On Timer0 Pulse : Enable Timer0: Enable Interrupts ' конфигурируем таймер 0 чтоб потом на него повесить алгоритм отображения цифр Do ' начало основного цикла If Pinc.4 = 0 Then Do Incr _min : _sec = 00 If _min > 59 Then : _min = 00 : Incr _hour : End If : If _hour > 23 Then _hour = 00 : Waitms 100 Loop Until Pinc.4 = 1 End If If Pinc.5 = 0 Then Do Incr _hour : If _hour > 23 Then _hour = 00 : Waitms 100 Loop Until Pinc.5 = 1 End If Loop 'конец основного цикла Pulse: ' подпрограмма прерываний таймера0 Cifri(1) = _min Mod 10 : Cifri(2) = _min / 10 : Cifri(3) = _hour Mod 10 : Cifri(4) = _hour / 10 Portb = &HFF Incr X : If X > 3 Then X = 0 Portd = Lookup(cifri(x + 1) , Dta) Reset Portb.x Return ' возвращаемся на место откуда прервали программу Dta: ' таблица с данными о цифрах зажигает по порядку : 0123456789 Data &HEF , &H8C , &HB7 , &HBE , &HDC , &H7E , &H7F , &HAC , &HFF , &HFE
Prescale = 8 нужно только для динамической индикации, подпрограмма которой вызывается по прерыванию от timer0. Работа timer0 не связана со счетом времени. Счет времени осуществляет встроенная функция Bascom, которая настроена тут: Config Clock = Soft. Частота срабатывания прерываний будет 8 МГц делить на 8 и делить на 256 (переполнение timer0). Получится около 4 кГц. Там еще программно на 4 делится (Incr X : If X > 3 Then X = 0), на анодах индикатора будет около 1 кГц.
сижу и разбираю программу часов написаной в BASCOM-AVR, всё вроде бы понятно но есть одно но: на мк подвешен часовой кварц, частота его определена в 8мгц, а предделитель у таймера стоит на 8. Почему именно на 8?
Часовой кварц - это "генератор секунд", в общем, от него СЧИТАЮТ часы, а сама программа работает от внутреннего генератора на 8 МГц.. Видимо, у вас какие- то вот такие часы, или что- то похожее-
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт авг 07, 2020 10:33:12
Встал на лапы
Зарегистрирован: Вс мар 27, 2011 07:48:48 Сообщений: 127 Откуда: г. Екатеринбург
Рейтинг сообщения:0
Привет, коты. У меня небольшая загвоздка. Написал малюсенькую програмульку, по другому и не назовешь. При попытке компиляции выдает ошибку в 20 строке (замкнулся геркон). Не могу понять, что ей не нравится. А очень надо. Может, кто глянет свежим взглядом.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения