Обсуждаем контроллеры компании Atmel.
Ответить

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

Пн янв 07, 2019 19:20:20

Уважаемые коты! Помогите котёнку :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 - черные квадраты.

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

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

Пн янв 07, 2019 20:30:42

R/W на землю не забудьте, и контрастность крутить.

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

Пн янв 07, 2019 20:36:26

R/W на землю не забудьте, и контрастность крутить.



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

А вот D0-D3 я на землю не вешал. Это критично?

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

Пн янв 07, 2019 20:49:46

Вадимчик75 писал(а):А вот D0-D3 я на землю не вешал. Это критично?

Да нет. Хотя могут помехи ловить.
В баскоме есть команда INITLCD. Вроде она автоматически вызывается при обращении к дисплею, но может все же лучше поставить её перед началом. До цикла Do-Loop. Ну и проверить подключение ног. Не раз путал ноги подключения и прописанные в программе.
А дисплей б/у?

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

Пн янв 07, 2019 21:08:37

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

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

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

Нашел вот такую статейку - завтра еще по ней попробую: http://cxem.net/izmer/izmer152.php

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

Вт янв 08, 2019 07:43:43

Уважаемые коты! Помогите котёнку :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 - черные квадраты.

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

Попробуйте вместо Format использовать Fusing c соответствующей маской.
https://avrhelp.mcselec.com/index.html?fusing.htm

Да , и для начала просто выведите какое-нибудь число на экран.Или надпись на латинице .Можно вообще без Do.... Loop.
Если выводится- отлаживаем дальше..
Если индикатор с подсветкой- должны быть подключены: - Катод на общий,анод через резистор 470Ом на плюс и переменным резистором выставляется контраст

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

Вт янв 08, 2019 12:48:33

для начала было б неплохо узнать на каком контроллере дисплей, инициализация для HD44780 в баскоме не подходит для KS0066

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

Вт янв 08, 2019 13:29:32

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

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

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

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

PS. Пойду ловить своего кота и буду уговаривать его попозировать для аватарки :)))

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

Пт янв 18, 2019 23:25:22

BASCOM 2.8.1 и Windows 10 x64 версии 1809 - несовместимая комбинация. ??
До обновления работал . Вот сегодня обновил "винду" и:
Изображение
я один такой везунчик?

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

Сб янв 19, 2019 15:02:46

Ну так откатить обновления. Потом выяснить, которое из пакета вводит в ступор баском и его не ставить.

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

Сб янв 19, 2019 16:09:02

А смысл откатывать ? Все равно обновлять наде..
Нашел на форуме разработчика BASCOM упоминание о такой же проблеме. Не критично, в следующем выпуске исправят.

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

Вс янв 20, 2019 06:48:18

nikin_n писал(а):Все равно обновлять наде..

А зачем? Сижу на семерке, года 4 назад поставил очередное обновление. Полезли глюки. Откатил, отключил обновления и прекрасно себя чувствую. Ставлю все, что нужно, все работает без проблем. Сношу, что не нужно. А последние художества микрософта по принципу "удаляем старые ошибки, добавляем новые" мне как то ни к чему.

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

Вс янв 20, 2019 14:52:50

А последние художества микрософта по принципу "удаляем старые ошибки, добавляем новые" мне как то ни к чему.


В Windows 10 я вообще не могу заблокировать обновления, и утилиты специальные ставил, все равно лезет в интернет и обновляет. На ноутбуке винт 64 гб, места для обновлений нет и все равно пытается что-то поставить. Наверное надо откатываться на Windows 7 или 8

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

Вс янв 20, 2019 17:48:28

Когда я поставил себе десятку, то сразу заметил тормоза инета. Быстро выяснил, что исходящий трафик почти в 10 раз превышает входящий. Через полчаса стояла обратно семерка. Шпиёнов нам не надо.

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

Вс янв 20, 2019 18:18:38

Изображение
очень актуально

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

Вс янв 20, 2019 18:22:09

Ну ХР все же крайность. Да и дочь в возрасте 7 лет расшифровала как Хреновая Программа.

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

Пт янв 25, 2019 17:34:11

Вопрос по переходам 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

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

Пт янв 25, 2019 18:13:26

Novice user писал(а):затрачивает ли атмега такты на эти переходы и возвраты?

А как иначе можно узнать адрес следующей команды, кроме как считать из памяти или рассчитать?

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

Пт янв 25, 2019 18:46:14

Спасибо,я тоже так думал но долго сомневался,пытаюсь ускорить графику на ILI9341 по SPI,в принципе получается если использовать ассемблерные вставки

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

Вс фев 17, 2019 18:43:18

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

$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 может работать корректно?
Спасибо)
Ответить