BASCOM AVR в вопросах и ответах
-
rojnov
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Вс мар 27, 2011 07:48:48
- Откуда: г. Екатеринбург
Re: BASCOM AVR в вопросах и ответах
Все заработало. Оказывается, была сопля при пайке проводков к плате LCD. Я облегченно вздохнул.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Доброго дня !
Уважаемые знатоки, кто-нибудь заводил дисплеи e-ink на Bascom ?
Вот тут нашел пример, но никак не заводится !
Если у кого есть положительный результат - помогите с кодом. Или они разные бывают, эти дисплеи ?...
У меня дисплей 1,54" 200х200 с платой, с Алика.
Спасибо.
Уважаемые знатоки, кто-нибудь заводил дисплеи e-ink на Bascom ?
Вот тут нашел пример, но никак не заводится !
Если у кого есть положительный результат - помогите с кодом. Или они разные бывают, эти дисплеи ?...
У меня дисплей 1,54" 200х200 с платой, с Алика.
Спасибо.
С уважением,
Алексей.
Алексей.
- Microtech
- Поставщик валерьянки для Кота
- Сообщения: 2052
- Зарегистрирован: Вт ноя 03, 2009 21:02:38
- Откуда: Москва
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Заводил, работает, но я переделал SPI на программный ногодрыг, а также переделал вывод шрифта, так как было лень разбираться с авторской задумкой. Дисплей 200х200.
добавлено: Нашел дома какой-то кусок со шрифтом. Должен как-то работать.
добавлено: Нашел дома какой-то кусок со шрифтом. Должен как-то работать.
- Вложения
-
- epd200x200.zip
- (8.42 КБ) 294 скачивания
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
[uquote="Gordon Shumway",url="/forum/viewtopic.php?p=3829054#p3829054"]Уважаемые знатоки, кто-нибудь заводил дисплеи e-ink на Bascom ?
Вот тут нашел пример, но никак не заводится !
У меня дисплей 1,54" 200х200 с платой, с Алика.[/uquote]
Предварительная причина неработоспособности - выпуск обновленных дисплеев версии 2, об этом написано на сайте производителя Waveshare.
Одинаковые дисплеи Версии 1 и версии 2 несовместимы, у них отличается первоначальная инициализация. А команды, как я понял, совпадают.
Сейчас на Али продаются дисплеи второй версии, библиотека Баском писалась под первую версию.
Для экспериментов купил Arduino Nano, скачал тестовые библиотеки - дисплеи работают только с новой V2 библиотекой. Но в Ардуино я - как балерина в тракторе...
Поэтому, если вдруг кто-то может разобрать библиотеку Ардуины и адаптировать ее под наш Баском - было бы здОрово.
Библиотеки могу выслать.
Спасибо.
PS: сами по себе дисплеи интересные, могут показывать картинку при полном отсутствии питания и управления. Вывел нужную информацию - и спать. Можно вообще вынуть дисплей из схемы -
и он будет показывать выведенную картинку бесконечно долго. Для энергоемких показометров - самое оно.
Недостаток - медленное обновление всего дисплея, около 2 секунд. Но поддерживается быстрое частичное обновление, допустим, число на дисплее.
Вот тут нашел пример, но никак не заводится !
У меня дисплей 1,54" 200х200 с платой, с Алика.[/uquote]
Предварительная причина неработоспособности - выпуск обновленных дисплеев версии 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 секунд. Но поддерживается быстрое частичное обновление, допустим, число на дисплее.
С уважением,
Алексей.
Алексей.
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
У меня тоже получилось несколько лет тому назад.
дисплеи GDEW0154Z17
подключал дисплеи с диагональю - 1,54(152х152)/2,6(152х304)/4,2(400х390)
Есть для баскома несколько функций для отображения штатных шрифтов и картинок.
Дисплеи на 3 цвета.
Если будет интерес, выложу. Но они корявые. Под софтверный и железный интерфейс
Только, надо понимать что в течении 1-2 месяцев при ежеминутном обновлении дисплей умрет.

дисплеи GDEW0154Z17
подключал дисплеи с диагональю - 1,54(152х152)/2,6(152х304)/4,2(400х390)
Есть для баскома несколько функций для отображения штатных шрифтов и картинок.
Дисплеи на 3 цвета.
Если будет интерес, выложу. Но они корявые. Под софтверный и железный интерфейс
Только, надо понимать что в течении 1-2 месяцев при ежеминутном обновлении дисплей умрет.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
[uquote="vanyap1",url="/forum/viewtopic.php?p=3834561#p3834561"]Если будет интерес, выложу. Но они корявые. Под софтверный и железный интерфейс
Только, надо понимать что в течении 1-2 месяцев при ежеминутном обновлении дисплей умрет.[/uquote]
Супер, покажите, пожалуйста, что у вас есть.
Только, раз вы это делали несколько лет назад - боюсь, что это было под первый вариант дисплеев. Но попробовать стоит.
Мой планируемый показометр будет обновлять данные не чаще одного раза в 30-60 минут.
А что в этих дисплеях может умереть ?
Только, надо понимать что в течении 1-2 месяцев при ежеминутном обновлении дисплей умрет.[/uquote]
Супер, покажите, пожалуйста, что у вас есть.
Только, раз вы это делали несколько лет назад - боюсь, что это было под первый вариант дисплеев. Но попробовать стоит.
Мой планируемый показометр будет обновлять данные не чаще одного раза в 30-60 минут.
А что в этих дисплеях может умереть ?
С уважением,
Алексей.
Алексей.
-
vanyap1
- Электрический кот
- Сообщения: 1048
- Зарегистрирован: Пт июл 30, 2010 11:49:03
- Откуда: Украина
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Прикрепил архив.
Там две папки - одни и те же проекты, только разные степени готовности. под разные дисплеи.
Также (третья папка) исходники проектов для конвертирования картинок и создания шрифтов на .net у visual studio
часы применял - pcf2129, градусник с барометром - mpl115a2.
Код корявый, делал сам, как умел. Делать с им можете что хотите.
По поводу вопросов по примененным методам - строкой выше.
По поводу вопросов - почему так что то реализовано а не иначе - могу и не вспомнить, делал в 2017 году. Но это точно работает.
Даташитов на свои дисплеи уже не нашел. наверное остались на старом пк.
настройка подключения дисплея в этой секции (разберетесь) -
Там две папки - одни и те же проекты, только разные степени готовности. под разные дисплеи.
Также (третья папка) исходники проектов для конвертирования картинок и создания шрифтов на .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
'_____|- Вложения
-
- e_inc_bascom.7z
- (474.43 КБ) 312 скачиваний
Re: BASCOM AVR в вопросах и ответах
Всем привет. Первая программа в протеусе работает. Можете подсказать есть ли в ней ошибки? Как сделать опрос кнопок без задержек?
$Regfile="attiny13a.dat"
$Crystal=8000000
'$hwstack=16
'$swstack=16
'$framesize=16
Config Pinb.3 = Input
Config Pinb.4 = Input
Config PINb.1 = Input
Config Portb.2 = Output
Config Portb.0 = Output
Dim SR As Byte
SR = 0
Portb.0 = 0
Do
If Pinb.1 = 0 Then IF SR = 1 Then Gosub Trunk_open
IF SR = 0 Then Gosub Led_blink
If Pinb.3 = 1 Then SR = 0
If Pinb.4 = 1 Then SR = 1
Portb.2 = 0
Loop
Trunk_open:
Portb.0 = 1
waitms 1000
Portb.0 = 0
waitms 1000
return
Led_blink:
Portb.2 = 1
If Pinb.4 = 1 Then SR = 1
If Pinb.4 = 1 Then return
waitms 100
Portb.2 = 0
If Pinb.4 = 1 Then SR = 1
If Pinb.4 = 1 Then return
waitms 550
Portb.2 = 1
If Pinb.4 = 1 Then SR = 1
If Pinb.4 = 1 Then return
waitms 100
Portb.2 = 0
If Pinb.4 = 1 Then SR = 1
If Pinb.4 = 1 Then return
waitms 550
return
End
$Regfile="attiny13a.dat"
$Crystal=8000000
'$hwstack=16
'$swstack=16
'$framesize=16
Config Pinb.3 = Input
Config Pinb.4 = Input
Config PINb.1 = Input
Config Portb.2 = Output
Config Portb.0 = Output
Dim SR As Byte
SR = 0
Portb.0 = 0
Do
If Pinb.1 = 0 Then IF SR = 1 Then Gosub Trunk_open
IF SR = 0 Then Gosub Led_blink
If Pinb.3 = 1 Then SR = 0
If Pinb.4 = 1 Then SR = 1
Portb.2 = 0
Loop
Trunk_open:
Portb.0 = 1
waitms 1000
Portb.0 = 0
waitms 1000
return
Led_blink:
Portb.2 = 1
If Pinb.4 = 1 Then SR = 1
If Pinb.4 = 1 Then return
waitms 100
Portb.2 = 0
If Pinb.4 = 1 Then SR = 1
If Pinb.4 = 1 Then return
waitms 550
Portb.2 = 1
If Pinb.4 = 1 Then SR = 1
If Pinb.4 = 1 Then return
waitms 100
Portb.2 = 0
If Pinb.4 = 1 Then SR = 1
If Pinb.4 = 1 Then return
waitms 550
return
End
- Microtech
- Поставщик валерьянки для Кота
- Сообщения: 2052
- Зарегистрирован: Вт ноя 03, 2009 21:02:38
- Откуда: Москва
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Я не понимаю до конца, что должна делать эта программа. Попытался вникнуть в задумку:
$Regfile="attiny13a.dat"
$Crystal=8000000
$hwstack=16
$swstack=16
$framesize=16
Config Pinb.3 = Input
Config Pinb.4 = Input
Config PINb.1 = Input
Config Portb.2 = Output
Config Portb.0 = Output
Dim SR As bit
SR = 0
Portb.0 = 0
Do
If Pinb.1 = 0 and SR = 1 Then Gosub Trunk_open
IF SR = 0 Then Gosub Led_blink
If Pinb.3 = 1 Then SR = 0
If Pinb.4 = 1 Then SR = 1
Portb.2 = 0
Loop
Trunk_open:
Portb.0 = 1
waitms 1000
Portb.0 = 0
waitms 1000
return
Led_blink:
Portb.2 = 1
If Pinb.4 = 1 Then
SR = 1
else
waitms 100
Portb.2 = 0
waitms 550
Portb.2 = 1
waitms 100
Portb.2 = 0
waitms 550
endif
return
End
$Regfile="attiny13a.dat"
$Crystal=8000000
$hwstack=16
$swstack=16
$framesize=16
Config Pinb.3 = Input
Config Pinb.4 = Input
Config PINb.1 = Input
Config Portb.2 = Output
Config Portb.0 = Output
Dim SR As bit
SR = 0
Portb.0 = 0
Do
If Pinb.1 = 0 and SR = 1 Then Gosub Trunk_open
IF SR = 0 Then Gosub Led_blink
If Pinb.3 = 1 Then SR = 0
If Pinb.4 = 1 Then SR = 1
Portb.2 = 0
Loop
Trunk_open:
Portb.0 = 1
waitms 1000
Portb.0 = 0
waitms 1000
return
Led_blink:
Portb.2 = 1
If Pinb.4 = 1 Then
SR = 1
else
waitms 100
Portb.2 = 0
waitms 550
Portb.2 = 1
waitms 100
Portb.2 = 0
waitms 550
endif
return
End
Re: BASCOM AVR в вопросах и ответах
В машину хочу поставить привод для открытия багажника с наружи, сигнализация стоит штатная и на ней нет выхода состояния откр/Закр, сигнал с центр замка хочу подать на порт b3,b4. Pinb1 для кнопки открыть багажник pinb0 выход на реле привода. Portb2 светодиод для визуального контроля состояния
Re: BASCOM AVR в вопросах и ответах
[uquote="svktaurus",url="/forum/viewtopic.php?p=3845726#p3845726"]В машину хочу поставить привод для открытия багажника с наружи, сигнализация стоит штатная и на ней нет выхода состояния откр/Закр, сигнал с центр замка хочу подать на порт b3,b4. Pinb1 для кнопки открыть багажник pinb0 выход на реле привода. Portb2 светодиод для визуального контроля состояния[/uquote]
Не надо опроса кнопок- используйте прерывания.
Не надо опроса кнопок- используйте прерывания.
-
cyborg1111
- Родился
- Сообщения: 1
- Зарегистрирован: Чт май 28, 2020 15:06:53
Re: BASCOM AVR в вопросах и ответах
Доброго времени суток. Возникла проблема, я новичок в мк и программировании, сижу и разбираю программу часов написаной в 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
$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
- Microtech
- Поставщик валерьянки для Кота
- Сообщения: 2052
- Зарегистрирован: Вт ноя 03, 2009 21:02:38
- Откуда: Москва
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Prescale = 8 нужно только для динамической индикации, подпрограмма которой вызывается по прерыванию от timer0. Работа timer0 не связана со счетом времени. Счет времени осуществляет встроенная функция Bascom, которая настроена тут: Config Clock = Soft.
Частота срабатывания прерываний будет 8 МГц делить на 8 и делить на 256 (переполнение timer0). Получится около 4 кГц. Там еще программно на 4 делится (Incr X : If X > 3 Then X = 0), на анодах индикатора будет около 1 кГц.
Частота срабатывания прерываний будет 8 МГц делить на 8 и делить на 256 (переполнение timer0). Получится около 4 кГц. Там еще программно на 4 делится (Incr X : If X > 3 Then X = 0), на анодах индикатора будет около 1 кГц.
Re: BASCOM AVR в вопросах и ответах
Привет коты!
Выпущена новая версия. Пора обновляться!
Качаем с официального сайта текущую версию баскома. http://register.mcselec.com/update.php? ... t=download
В архиве dll для IDE и еще пара ссылок.
Выпущена новая версия. Пора обновляться!
Качаем с официального сайта текущую версию баскома. http://register.mcselec.com/update.php? ... t=download
В архиве dll для IDE и еще пара ссылок.
- Вложения
-
- bascom_link.zip
- (44.87 КБ) 380 скачиваний
-
- bascom.zip
- (17.68 КБ) 428 скачиваний
Последний раз редактировалось Kotэ Вт июл 21, 2020 12:38:44, всего редактировалось 2 раза.
-
tanveerriaz
- Встал на лапы
- Сообщения: 85
- Зарегистрирован: Ср сен 27, 2017 05:57:31
- Откуда: Pakistan
Re: BASCOM AVR в вопросах и ответах
can not down load new ver. ERR-D5
- АлександрЛ
- Друг Кота
- Сообщения: 43781
- Зарегистрирован: Пн ноя 30, 2009 03:00:01
- Откуда: Нерезиновая
Re: BASCOM AVR в вопросах и ответах
[uquote="cyborg1111",url="/forum/viewtopic.php?p=3847373#p3847373"]сижу и разбираю программу часов написаной в BASCOM-AVR, всё вроде бы понятно но есть одно но: на мк подвешен часовой кварц, частота его определена в 8мгц, а предделитель у таймера стоит на 8. Почему именно на 8?[/uquote]
Часовой кварц - это "генератор секунд", в общем, от него СЧИТАЮТ часы, а сама программа работает от внутреннего генератора на 8 МГц..
Видимо, у вас какие- то вот такие часы, или что- то похожее-

Часовой кварц - это "генератор секунд", в общем, от него СЧИТАЮТ часы, а сама программа работает от внутреннего генератора на 8 МГц..
Видимо, у вас какие- то вот такие часы, или что- то похожее-
Re: BASCOM AVR в вопросах и ответах
Many links to download BASCOM-AVR 2.0.8.3 https://pastebin.com/iHac7Uvxtanveerriaz писал(а):can not down load new ver. ERR-D5
-
tanveerriaz
- Встал на лапы
- Сообщения: 85
- Зарегистрирован: Ср сен 27, 2017 05:57:31
- Откуда: Pakistan
Re: BASCOM AVR в вопросах и ответах
thanks Kotэ
-
rojnov
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Вс мар 27, 2011 07:48:48
- Откуда: г. Екатеринбург
Re: BASCOM AVR в вопросах и ответах
Привет, коты. У меня небольшая загвоздка. Написал малюсенькую програмульку, по другому и не назовешь. При попытке компиляции выдает ошибку в 20 строке (замкнулся геркон). Не могу понять, что ей не нравится. А очень надо. Может, кто глянет свежим взглядом.
$regfile = "attiny13a.dat"
$hwstack = 10
$swstack = 10
$framesize = 20
Config Portb.0 = Output
Config Pinb.1 = Input
Knopka Alias Pinb.3
Motor Alias Portb.0
Gerkon Alias Pinb.1
Do
While Gerkon = O ' замкнулся геркон
Motor = 1 'включился мотор
Wend
If Knopka = 0 Then 'сработал концевик
Reset Motor ' мотор выключился
End If
Loop
$regfile = "attiny13a.dat"
$hwstack = 10
$swstack = 10
$framesize = 20
Config Portb.0 = Output
Config Pinb.1 = Input
Knopka Alias Pinb.3
Motor Alias Portb.0
Gerkon Alias Pinb.1
Do
While Gerkon = O ' замкнулся геркон
Motor = 1 'включился мотор
Wend
If Knopka = 0 Then 'сработал концевик
Reset Motor ' мотор выключился
End If
Loop
Re: BASCOM AVR в вопросах и ответах
To rojnov!
В строке "While Gerkon = O ' замкнулся геркон" мне кажется у Вас записан не НОЛЬ (т.е. 0), а символ О!
В строке "While Gerkon = O ' замкнулся геркон" мне кажется у Вас записан не НОЛЬ (т.е. 0), а символ О!