Например TDA7294

Форум РадиоКот • Просмотр темы - hd44780(wh1602b) AVR Си, проблема схожу с ума
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср авг 06, 2025 11:35:52

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


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



Начать новую тему Ответить на тему  [ Сообщений: 22 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: hd44780(wh1602b) AVR Си, проблема схожу с ума
СообщениеДобавлено: Вт окт 16, 2012 06:06:07 
Открыл глаза

Зарегистрирован: Чт мар 22, 2012 09:14:18
Сообщений: 51
Откуда: Липецк
Рейтинг сообщения: 0
uk8amk писал(а):
Может я чего не понял, но зачем строку разбивать на двухмерный массив?
myString[0] - начало первого сообщения
myString[0+40] - второе сообщение и т.д.
Обращайтесь сразу к исходной строке и ничего не мудрите.

Если обращаюсь так, то мне выводит почему то отдельные символы из алфавита. Не знаю может все дело в драйвере, хотя если явно передать строку до 40 символов(чтобы уместились на одну строку), то все проходит на ура.
Моя же задача научится выводить длинные сообщения в одной строке до 255 символов.
Можно конечно сделать скажем 4 или 5 массивов по 40 символов и потом их заганять после окончания предыдущего. Но я хотел это производить с одной строкой.
Пробывал заносить в массив (myArraq) первые 40 символов, а потом пинать на lcd, только почему-то он передает в буфер всю строку(размер myArraq становится 100 символов).
Код:
...
        unsigned char myString[] = "Длина этого сообщение 100 символов, для тестирования вывода большой строки более 40 символов!!!!!!!";
   unsigned char i = 0;
   char myArraq[40];
   while(i < 40){
      myArraq[i] = myString[i];//Сюда заносится именно первые 40 символов
      i++;
   }
lcdPuts(myArraq);
   while(1)
    {
      _delay_ms(600);
      lcdDisplayScroll(1, LCD_SCROLL_LEFT);
   }
    }

...я же хотел просто загонять длинную строку, а МК в программе сам ее разбивал по алгоритму :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: hd44780(wh1602b) AVR Си, проблема схожу с ума
СообщениеДобавлено: Вт окт 16, 2012 10:21:26 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Для функций вывода на экран обычно в конце требуется символ окончания строки 0x00. Когда вы объявляете строку в кавычках то он добавляется автоматически. В вашей программе копирования массивов терминатора строки я не наблюдаю. Либо используйте посимвольный вывод типа lcd_putcar().


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

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


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

Сейчас этот форум просматривают: Just_Fluffy и гости: 21


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

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


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