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

Обсуждаем контроллеры компании Atmel.
Вадимчик75
Родился
Сообщения: 19
Зарегистрирован: Пт янв 01, 2016 21:10:22

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

Сообщение Вадимчик75 »

Уважаемые коты! Помогите котёнку :cry:

Начал осваивать Баском, и вот после пары простеньких устройств столкнулся с проблемой.

Не получается работа с ЖКИ дисплеем (TM164AD P-6 4 строки по 16 символов). :(

программа:
Спойлер$regfile = "attiny2313.dat"
$crystal = 4000000

Dim Count As Byte
Dim Cur_vel As Integer
Dim Str_vel As String * 3
Dim Vel(6) As String * 3

Count = 0
Cur_vel = 1

Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.0 , Rs = Portd.6
Config Lcd = 16 * 4

Wait 1

Cls

For Count = 1 To 6
Str_vel = Str(cur_vel)
Vel(count) = Format(str_vel , "000")
Cur_vel = Cur_vel + 50
Next Count

Do
Upperline
Lcd "1. " ; Vel(1) ; " 2. " ; Vel(2);
Lowerline
Lcd "3. " ; Vel(3) ; " 4. " ; Vel(4);
Thirdline
Lcd "5. " ; Vel(5) ; " 6. " ; Vel(6);
Fourthline
Lcd "1234567890123456"
Loop
End
схема - стандартная, пины дисплея расписаны в программе. В симуляторе работает просто отлично, на реальном устройстве - хрень какая-то... 1 и 3 строка дисплея пустые, 2 и 4 - черные квадраты.

Вариантов два - или я туплю, или дисплей неисправный. И сразу дополнительный вопрос - как можно такой дисплей быстренько проверить на исправность?
Реклама
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

R/W на землю не забудьте, и контрастность крутить.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Реклама
Вадимчик75
Родился
Сообщения: 19
Зарегистрирован: Пт янв 01, 2016 21:10:22

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

Сообщение Вадимчик75 »

[uquote="kip96",url="/forum/viewtopic.php?p=3543239#p3543239"]R/W на землю не забудьте, и контрастность крутить.[/uquote]


R/W на землю повесил, контраст крутил. Черные закоместа гаснут при изменении контраста и всё, больше ничего не происходит.

А вот D0-D3 я на землю не вешал. Это критично?
Аватара пользователя
vem566
Друг Кота
Сообщения: 4736
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Вадимчик75 писал(а):А вот D0-D3 я на землю не вешал. Это критично?
Да нет. Хотя могут помехи ловить.
В баскоме есть команда INITLCD. Вроде она автоматически вызывается при обращении к дисплею, но может все же лучше поставить её перед началом. До цикла Do-Loop. Ну и проверить подключение ног. Не раз путал ноги подключения и прописанные в программе.
А дисплей б/у?
Реклама
Эиком - электронные компоненты и радиодетали
Вадимчик75
Родился
Сообщения: 19
Зарегистрирован: Пт янв 01, 2016 21:10:22

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

Сообщение Вадимчик75 »

initlcd ставил сразу после "Config Lcd = 16 * 4" - нет результата.

Ноги проверял и пересоединял - не помогает (((((((

Дисплей б/у, их у меня три штуки, все три ведут себя одинаково (((((

Нашел вот такую статейку - завтра еще по ней попробую: http://cxem.net/izmer/izmer152.php
Реклама
torneb
Родился
Сообщения: 19
Зарегистрирован: Чт дек 13, 2018 13:32:29

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

Сообщение torneb »

[uquote="Вадимчик75",url="/forum/viewtopic.php?p=3543192#p3543192"]Уважаемые коты! Помогите котёнку :cry:

Начал осваивать Баском, и вот после пары простеньких устройств столкнулся с проблемой.

Не получается работа с ЖКИ дисплеем (TM164AD P-6 4 строки по 16 символов). :(

программа:
Спойлер$regfile = "attiny2313.dat"
$crystal = 4000000

Dim Count As Byte
Dim Cur_vel As Integer
Dim Str_vel As String * 3
Dim Vel(6) As String * 3

Count = 0
Cur_vel = 1

Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.0 , Rs = Portd.6
Config Lcd = 16 * 4

Wait 1

Cls

For Count = 1 To 6
Str_vel = Str(cur_vel)
Vel(count) = Format(str_vel , "000")
Cur_vel = Cur_vel + 50
Next Count

Do
Upperline
Lcd "1. " ; Vel(1) ; " 2. " ; Vel(2);
Lowerline
Lcd "3. " ; Vel(3) ; " 4. " ; Vel(4);
Thirdline
Lcd "5. " ; Vel(5) ; " 6. " ; Vel(6);
Fourthline
Lcd "1234567890123456"
Loop
End
схема - стандартная, пины дисплея расписаны в программе. В симуляторе работает просто отлично, на реальном устройстве - хрень какая-то... 1 и 3 строка дисплея пустые, 2 и 4 - черные квадраты.

Вариантов два - или я туплю, или дисплей неисправный. И сразу дополнительный вопрос - как можно такой дисплей быстренько проверить на исправность?[/uquote]
Попробуйте вместо Format использовать Fusing c соответствующей маской.
https://avrhelp.mcselec.com/index.html?fusing.htm

Да , и для начала просто выведите какое-нибудь число на экран.Или надпись на латинице .Можно вообще без Do.... Loop.
Если выводится- отлаживаем дальше..
Если индикатор с подсветкой- должны быть подключены: - Катод на общий,анод через резистор 470Ом на плюс и переменным резистором выставляется контраст
Реклама
Аватара пользователя
Moto_v3x
Потрогал лапой паяльник
Сообщения: 307
Зарегистрирован: Ср мар 31, 2010 11:45:58
Откуда: Славянск

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

Сообщение Moto_v3x »

для начала было б неплохо узнать на каком контроллере дисплей, инициализация для HD44780 в баскоме не подходит для KS0066
Вадимчик75
Родился
Сообщения: 19
Зарегистрирован: Пт янв 01, 2016 21:10:22

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

Сообщение Вадимчик75 »

Доброго дня всем!
И сразу приношу свои извинения всем кого потревожил своей проблемой!

Решение проблемы оказалось очень простым, схему собирал на макетнице проводами с наконечниками от доблестных "китайских друзей" с алиэкспресса . И что выяснилось... Два провода которые пришлись на "Е" и "D5" были с обрывом внутри. :shock: Вот и вся проблема....

После замены - фсё заработало.

Большое спасибо всем помогавшим!!!

PS. Пойду ловить своего кота и буду уговаривать его попозировать для аватарки :)))
nikin_n
Опытный кот
Сообщения: 883
Зарегистрирован: Вс мар 17, 2013 18:54:07

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

Сообщение nikin_n »

BASCOM 2.8.1 и Windows 10 x64 версии 1809 - несовместимая комбинация. ??
До обновления работал . Вот сегодня обновил "винду" и:
Изображение
я один такой везунчик?
Аватара пользователя
vem566
Друг Кота
Сообщения: 4736
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Ну так откатить обновления. Потом выяснить, которое из пакета вводит в ступор баском и его не ставить.
nikin_n
Опытный кот
Сообщения: 883
Зарегистрирован: Вс мар 17, 2013 18:54:07

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

Сообщение nikin_n »

А смысл откатывать ? Все равно обновлять наде..
Нашел на форуме разработчика BASCOM упоминание о такой же проблеме. Не критично, в следующем выпуске исправят.
Аватара пользователя
vem566
Друг Кота
Сообщения: 4736
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

nikin_n писал(а):Все равно обновлять наде..
А зачем? Сижу на семерке, года 4 назад поставил очередное обновление. Полезли глюки. Откатил, отключил обновления и прекрасно себя чувствую. Ставлю все, что нужно, все работает без проблем. Сношу, что не нужно. А последние художества микрософта по принципу "удаляем старые ошибки, добавляем новые" мне как то ни к чему.
Аватара пользователя
SIM31
Это не хвост, это антенна
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

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

Сообщение SIM31 »

[uquote="vem566",url="/forum/viewtopic.php?p=3552948#p3552948"]А последние художества микрософта по принципу "удаляем старые ошибки, добавляем новые" мне как то ни к чему.[/uquote]

В Windows 10 я вообще не могу заблокировать обновления, и утилиты специальные ставил, все равно лезет в интернет и обновляет. На ноутбуке винт 64 гб, места для обновлений нет и все равно пытается что-то поставить. Наверное надо откатываться на Windows 7 или 8
Аватара пользователя
vem566
Друг Кота
Сообщения: 4736
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Когда я поставил себе десятку, то сразу заметил тормоза инета. Быстро выяснил, что исходящий трафик почти в 10 раз превышает входящий. Через полчаса стояла обратно семерка. Шпиёнов нам не надо.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

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

Сообщение vanyap1 »

Изображение
очень актуально
Аватара пользователя
vem566
Друг Кота
Сообщения: 4736
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Ну ХР все же крайность. Да и дочь в возрасте 7 лет расшифровала как Хреновая Программа.
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

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

Сообщение Novice user »

Вопрос по переходам call
Допустим в программе используется библиотека,и там полно CALL и возврат из библиотеки,сам вопрос-затрачивает ли атмега такты на эти переходы и возвраты?
например инициализация ILI9341
Lcd_reset = 0
Waitms 150
Lcd_reset = 1
Waitms 150
Call Lcd_write_command(&H01) '&H01 SWRESET
waitms 120
'Power Control 1
Call Lcd_write_command(&HC0)
Call Lcd_write_data(&h25)

'Power Control 2
Call Lcd_write_command(&HC1) 'step up
Call Lcd_write_data(&h11)

'VCOM Control 1
Call Lcd_write_command(&HC5) ' VCOMH - VCOML = 5.2V
Call Lcd_write_data(&h2B) 'VCOMH = 3.825
Call Lcd_write_data(&h2B) 'VCOML = -1.375

'VCOM Control 2
Call Lcd_write_command(&HC7) ' Vcom offset
Call Lcd_write_data(&h86) 'VML=58 VMH=58
'Memory Access Control
'TFT_SetOrientation(orient) ************
Call Lcd_write_command(&H36)
Call Lcd_write_data(&hE8)
'COLMOD: Pixel Format Set
Call Lcd_write_command(&H3A) '
Call Lcd_write_data(&h05)

'Frame Rate Control
Call Lcd_write_command(&HB1)
Call Lcd_write_data(&h00)
Call Lcd_write_data(&h18) 'Frame Rate 79Hz

'Display Function Control
Call Lcd_write_command(&HB6)
Call Lcd_write_data(&h0A)
Call Lcd_write_data(&h82) '
Call Lcd_write_data(&h27)
' Sleep Out
Call Lcd_write_command(&H11)
waitms 120
'Display On
Call Lcd_write_command(&H29)


Sub Lcd_write_command(byval Command As Byte)
Lcd_dc = 0
Spiout Command , 1
End Sub
Sub Lcd_write_data(byval Da_ta As Byte)
Lcd_dc = 1
Spiout Da_ta , 1
End Sub
Аватара пользователя
vem566
Друг Кота
Сообщения: 4736
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

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

Сообщение vem566 »

Novice user писал(а):затрачивает ли атмега такты на эти переходы и возвраты?
А как иначе можно узнать адрес следующей команды, кроме как считать из памяти или рассчитать?
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

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

Сообщение Novice user »

Спасибо,я тоже так думал но долго сомневался,пытаюсь ускорить графику на ILI9341 по SPI,в принципе получается если использовать ассемблерные вставки
torneb
Родился
Сообщения: 19
Зарегистрирован: Чт дек 13, 2018 13:32:29

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

Сообщение torneb »

Здравствуйте
Никогда не работал с СОМ портом ,решил вот попробовать.
Написал простенькую программку

Код: Выделить всё


$regfile = "attiny2313.dat"
$crystal = 4000000
$hwstack = 40
$swstack = 16
$framesize = 32
$baud = 9600

'на адаптере; синий- общий
'           ; зеленый-Rxd общий
'           ; оранжевый- Txd


Do
Print "Hello"

wait 2


Loop

 End

В симуляторе все прекрасно работает, в терминалке слово Hello видно превосходно.
Подключил вот такой девайс с али.
Изображение
Настроил порт. Прошил контроллер.Но в терминале при приеме какие-то кракозябры вместо английского Hello.
Вопрос - такой преобразователь UART может работать корректно?
Спасибо)
Ответить

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