BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
rojnov
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

Re: BASCOM AVR в вопросах и ответах

Сообщение rojnov »

Все заработало. Оказывается, была сопля при пайке проводков к плате LCD. Я облегченно вздохнул.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Gordon Shumway »

Доброго дня !

Уважаемые знатоки, кто-нибудь заводил дисплеи e-ink на Bascom ?

Вот тут нашел пример, но никак не заводится !
Если у кого есть положительный результат - помогите с кодом. Или они разные бывают, эти дисплеи ?...

У меня дисплей 1,54" 200х200 с платой, с Алика.

Спасибо.
С уважением,
Алексей.
Аватара пользователя
Microtech
Поставщик валерьянки для Кота
Сообщения: 2052
Зарегистрирован: Вт ноя 03, 2009 21:02:38
Откуда: Москва
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Microtech »

Заводил, работает, но я переделал SPI на программный ногодрыг, а также переделал вывод шрифта, так как было лень разбираться с авторской задумкой. Дисплей 200х200.

добавлено: Нашел дома какой-то кусок со шрифтом. Должен как-то работать.
Вложения
epd200x200.zip
(8.42 КБ) 294 скачивания
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Gordon Shumway »

[uquote="Gordon Shumway",url="/forum/viewtopic.php?p=3829054#p3829054"]Уважаемые знатоки, кто-нибудь заводил дисплеи e-ink на Bascom ?

Вот тут нашел пример, но никак не заводится !
У меня дисплей 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 в вопросах и ответах

Сообщение vanyap1 »

У меня тоже получилось несколько лет тому назад.
дисплеи 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 в вопросах и ответах

Сообщение Gordon Shumway »

[uquote="vanyap1",url="/forum/viewtopic.php?p=3834561#p3834561"]Если будет интерес, выложу. Но они корявые. Под софтверный и железный интерфейс
Только, надо понимать что в течении 1-2 месяцев при ежеминутном обновлении дисплей умрет.[/uquote]
Супер, покажите, пожалуйста, что у вас есть.
Только, раз вы это делали несколько лет назад - боюсь, что это было под первый вариант дисплеев. Но попробовать стоит.

Мой планируемый показометр будет обновлять данные не чаще одного раза в 30-60 минут.
А что в этих дисплеях может умереть ?
С уважением,
Алексей.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение vanyap1 »

Прикрепил архив.
Там две папки - одни и те же проекты, только разные степени готовности. под разные дисплеи.
Также (третья папка) исходники проектов для конвертирования картинок и создания шрифтов на .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 скачиваний
svktaurus
Родился
Сообщения: 2
Зарегистрирован: Вс мар 11, 2018 13:24:43

Re: BASCOM AVR в вопросах и ответах

Сообщение svktaurus »

Всем привет. Первая программа в протеусе работает. Можете подсказать есть ли в ней ошибки? Как сделать опрос кнопок без задержек?
$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 в вопросах и ответах

Сообщение Microtech »

Я не понимаю до конца, что должна делать эта программа. Попытался вникнуть в задумку:
$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
svktaurus
Родился
Сообщения: 2
Зарегистрирован: Вс мар 11, 2018 13:24:43

Re: BASCOM AVR в вопросах и ответах

Сообщение svktaurus »

В машину хочу поставить привод для открытия багажника с наружи, сигнализация стоит штатная и на ней нет выхода состояния откр/Закр, сигнал с центр замка хочу подать на порт b3,b4. Pinb1 для кнопки открыть багажник pinb0 выход на реле привода. Portb2 светодиод для визуального контроля состояния
SAU
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс сен 10, 2006 00:04:03

Re: BASCOM AVR в вопросах и ответах

Сообщение SAU »

[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 в вопросах и ответах

Сообщение cyborg1111 »

Доброго времени суток. Возникла проблема, я новичок в мк и программировании, сижу и разбираю программу часов написаной в 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
Аватара пользователя
Microtech
Поставщик валерьянки для Кота
Сообщения: 2052
Зарегистрирован: Вт ноя 03, 2009 21:02:38
Откуда: Москва
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Microtech »

Prescale = 8 нужно только для динамической индикации, подпрограмма которой вызывается по прерыванию от timer0. Работа timer0 не связана со счетом времени. Счет времени осуществляет встроенная функция Bascom, которая настроена тут: Config Clock = Soft.
Частота срабатывания прерываний будет 8 МГц делить на 8 и делить на 256 (переполнение timer0). Получится около 4 кГц. Там еще программно на 4 делится (Incr X : If X > 3 Then X = 0), на анодах индикатора будет около 1 кГц.
Kotэ
Родился
Сообщения: 5
Зарегистрирован: Пт май 13, 2011 18:45:36

Re: BASCOM AVR в вопросах и ответах

Сообщение Kotэ »

Привет коты!
Выпущена новая версия. Пора обновляться!
Качаем с официального сайта текущую версию баскома. 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 в вопросах и ответах

Сообщение tanveerriaz »

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 МГц..
Видимо, у вас какие- то вот такие часы, или что- то похожее-
Изображение Изображение
Kotэ
Родился
Сообщения: 5
Зарегистрирован: Пт май 13, 2011 18:45:36

Re: BASCOM AVR в вопросах и ответах

Сообщение Kotэ »

tanveerriaz писал(а):can not down load new ver. ERR-D5
Many links to download BASCOM-AVR 2.0.8.3 https://pastebin.com/iHac7Uvx
tanveerriaz
Встал на лапы
Сообщения: 85
Зарегистрирован: Ср сен 27, 2017 05:57:31
Откуда: Pakistan

Re: BASCOM AVR в вопросах и ответах

Сообщение tanveerriaz »

thanks Kotэ
rojnov
Встал на лапы
Сообщения: 127
Зарегистрирован: Вс мар 27, 2011 07:48:48
Откуда: г. Екатеринбург

Re: BASCOM AVR в вопросах и ответах

Сообщение rojnov »

Привет, коты. У меня небольшая загвоздка. Написал малюсенькую програмульку, по другому и не назовешь. При попытке компиляции выдает ошибку в 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
forter
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Пт фев 18, 2011 16:09:15

Re: BASCOM AVR в вопросах и ответах

Сообщение forter »

To rojnov!
В строке "While Gerkon = O ' замкнулся геркон" мне кажется у Вас записан не НОЛЬ (т.е. 0), а символ О!
Ответить

Вернуться в «AVR»