Например TDA7294

Форум РадиоКот • Просмотр темы - Помогите с кодом на си для AVR (Atmega8)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб дек 13, 2025 03:09:10

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 77 ]    , , , 4
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вт дек 06, 2022 20:41:19 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс мар 27, 2022 09:38:17
Сообщений: 165
Рейтинг сообщения: 0
Доброе утро!
Вот я вроде всё сделал правильно но почему то экранчик чист.
А хотя логически всё вроде правильно.
Скрины прикрепил.


Вложения:
Снимок экрана 2022-12-07 085554.png [12.67 KiB]
Скачиваний: 38
Снимок экрана 2022-12-07 085512.png [33.13 KiB]
Скачиваний: 36
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Ср дек 07, 2022 20:33:32 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс мар 27, 2022 09:38:17
Сообщений: 165
Рейтинг сообщения: 0
Добрый вечер!
Опять возник вопрос к знающим людям.
Вывожу слова но они в перемешку.
Прошу посмотрите что не так?



// запись в cgram и печать в строку
void stroka_rus(const void *text, uint8_t lines, uint8_t rows,uint8_t x,uint8_t y)
{
LCDcommand(0x40);
Busy_flag();
CPORT|=(1<<RS);
const uint8_t *ptext = text;
for (uint8_t i=0; i<lines; i++)
for(uint8_t j=0; j<rows; j++)
Send_byte(ptext[i*rows + j]);
CPORT&=~(1<<RS);
LCDGotoXY(x,y);
uint8_t i=0x00;
for(i=0x00;i<lines;i++)
LCDdata(i);
}
while(1)
{
stroka_rus(text_1,6,8,4,0);
clear();
stroka_rus(text_2,8,8,3,1);

}

https://disk.yandex.ru/i/lun55DhIp2JBmw вот видео в протеусе

Добавлено after 2 minutes 21 second:
void clear(void)
{

LCDcommand(0x40);
Busy_flag();
CPORT|=(1<<RS);
const uint8_t clr[8][8]={};
const uint8_t *pclr = clr;
for(uint8_t i=0; i<8; i++)
for(uint8_t h=0; h<8; h++)
Send_byte(pclr[i*8 + h]);
CPORT&=~(1<<RS);
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Помогите с кодом на си
СообщениеДобавлено: Вс дек 11, 2022 08:44:02 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс мар 27, 2022 09:38:17
Сообщений: 165
Рейтинг сообщения: 0
Доброго дня!
Я уже обращался ранее сюда в этот форум по вопросу вывода Кириллицы на LCD1602.
Люди помогли разобраться спасибо им.
Но тут появилась новая проблема.
Я не могу корректно вывести слова.
Проблема в том что один массив залазит на другой.
И всё смешивается. Я же не говорю про длинные слова более 8 байт.
Как можно затирать пред идущую информацию для повторного вывода слога
чтоб составить слово нормально?
Там на фотках видно как это всё выглядит.

void stroka_rus(const void *text, uint8_t lines, uint8_t rows,uint8_t x,uint8_t y)
{
LCDcommand(CGRAM_ADDR);
Busy_flag();
CPORT|=(1<<RS);
const uint8_t *ptext = text;
for (uint8_t i=0; i<lines; i++)
for(uint8_t j=0; j<rows; j++)
Send_byte(ptext[i*rows + j]);
CPORT&=~(1<<RS);
LCDGotoXY(x,y);
Busy_flag();
CPORT|=(1<<RS);
uint8_t i=0;
for(i=0;i<lines;i++)
LCDdata(i);
}


Вложения:
3.jpg [186.67 KiB]
Скачиваний: 44
2.jpg [200.08 KiB]
Скачиваний: 43
1.jpg [183.87 KiB]
Скачиваний: 48
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вс дек 11, 2022 08:55:21 
Говорящий с текстолитом
Аватар пользователя

Карма: 18
Рейтинг сообщений: 236
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1548
Откуда: Тюмень
Рейтинг сообщения: 0
насколько я знаю, как только вы обновили символ с кодом, предположим, 0х01, то на дисплее все позиции с этим кодом будут показывать обновленный символ, так что "до бесконечности" не выйдет - максимум 8 разных одновременно

Проверил в подтверждении конкретно на дисплее… подопытный китаец... так и есть, "максимум 8 разных одновременно"… :)


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вс дек 11, 2022 09:07:16 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс мар 27, 2022 09:38:17
Сообщений: 165
Рейтинг сообщения: 0
Та Китаец!
Без Кириллицы.
Ну как-то можно обойти?
Наверное есть варианты?
Был бы с Кирилллицей вообщеб проблем не возникло бы...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си
СообщениеДобавлено: Вс дек 11, 2022 09:08:33 
Говорящий с текстолитом
Аватар пользователя

Карма: 18
Рейтинг сообщений: 236
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1548
Откуда: Тюмень
Рейтинг сообщения: 0
Если вы при выводе слов в строке производите запись новой буквы в ОЗУ ЖКИ, то потом необходимо установить дополнительно курсор в то место откуда вы будете продолжать выводить буквы следующего слова… или выводите все слова в строке без дополнительных прерываний для записи новых букв в ОЗУ ЖКИ…
Это китаец без кириллицы :)
СпойлерИзображение


Последний раз редактировалось VNS Вс дек 11, 2022 12:31:27, всего редактировалось 3 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си
СообщениеДобавлено: Вс дек 11, 2022 09:19:49 
Вымогатель припоя

Карма: 6
Рейтинг сообщений: 183
Зарегистрирован: Ср янв 06, 2010 10:01:46
Сообщений: 589
Рейтинг сообщения: 0
Не вполне понятна суть вашей проблемы.
Не исключено, что вы путаете вывод слов длиной более восьми символов и загрузку знакогенератора для числа символов, больше восьми.
Пример:
1. Вы успешно загрузили 8 пользовательских символов в CGRAM.
2. Далее вы вывели на экран слово, содержащее все эти 8 символов.
До этого момента все ок.
3.Но, как только вы загрузите 8 новых пользовательских символов в CGRAM, на дисплее сразу же изменится изображение слова, которое вы написали на шаге 2

Из вышенаписанного следует, что лучше юзать дисплей с кириллицей или учить английский :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си
СообщениеДобавлено: Вс дек 11, 2022 09:54:40 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2556
Рейтинг сообщения: 3
aleksey chilov, Вы всё неправильно делаете. В знакогенератор надо не всю строку забивать, а только буквы которых нет в с латинском алфавите. В вашем примере строка "РАДИОКОТ ПРИВЕТ" в знакогенератор достаточно занести всего три буквы. Разделите функцию загрузки знакогенератора и вывода строки.


Последний раз редактировалось VladislavS Вс дек 11, 2022 10:02:55, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вс дек 11, 2022 09:59:15 
Говорящий с текстолитом
Аватар пользователя

Карма: 18
Рейтинг сообщений: 236
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1548
Откуда: Тюмень
Рейтинг сообщения: 0
Вывести разово на дисплей можно только 8 пользовательских символов… на следующем экране можно вывести ещё 8 других пользовательских символов… но сразу больше 8 не получится… :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си
СообщениеДобавлено: Вс дек 11, 2022 10:00:41 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 0
...а еще лучше купить на Алишке нормальный дисплей с кириллицей
https://aliexpress.ru/item/32897547605. ... 4aa6cZJ4dd
придется конечно подождать, зато окупится потом прекращением мучений.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вс дек 11, 2022 10:02:57 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 0
https://aliexpress.ru/item/32897547605. ... 4aa6cZJ4dd
и прекратятся мучения


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си
СообщениеДобавлено: Вс дек 11, 2022 11:36:16 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2926
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18889
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
MLX90640, такая цена плюс стоимость доставки никогда не окупится.

Добавлено after 4 minutes 4 seconds:
Re: Помогите с кодом на си для AVR (Atmega8)
aleksey chilov, не надо плодить одинаковые темы.
я объединил твою новую тему с предыдущей твоей темой.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вс дек 11, 2022 11:43:18 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
всё уже миллион раз обсуждалось...
11 английских заглавных: А, В, С, Е, Н, К, М, О, Р, Т, Х плюс 8 = 19 заглавных русских
7 английских строчных: а, с, е, о, р, х, k плюс 8 = 15 строчных русских, где к будет немножко странной
С учетом громадного количества синонимов в русском языке и возможных сокращений, трудности при отображении могут возникнуть ну в очень специфичных случаях.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вс дек 11, 2022 12:22:28 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 885
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6192
Откуда: Minsk
Рейтинг сообщения: 0
А ещё лучше использовать графический. Один раз синтезировал шрифт (или несколько) - и нет простора фантазии. Хоть на грузинском.

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вс дек 11, 2022 12:29:42 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Лучше пикать морзянкой - всего один динамик и одна нога микроконтроллера, зато можно передать практически любую информацию, и даже слепому грузину


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вс дек 11, 2022 15:55:07 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 885
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6192
Откуда: Minsk
Рейтинг сообщения: 0
Нельзя: враг подслушает! 8) :))

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
СообщениеДобавлено: Вс дек 11, 2022 16:35:00 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Тогда тактильную бесшумную морзянку: нихромовая спиралька то нагревается, то охлаждается, сообщая приложенному к ней пальцу (или языку, у кого пальцы грубые или отсутствуют вовсе) информацию. Замечу, что сфера инвалидов в этом случае расширяется и до глухих.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 77 ]    , , , 4

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y