Например TDA7294

Форум РадиоКот • Просмотр темы - Дисплеи от мобильных телефонов- осцилограммы работы
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Чт фев 19, 2026 15:11:32

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


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



Начать новую тему Ответить на тему  [ Сообщений: 870 ]     ... , , , 32, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Вс июл 08, 2012 08:59:15 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Вот про Nokia 6100: http://forum.radiokot.ru/viewtopic.php?f=20&t=45298

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Вс июл 08, 2012 11:43:54 
Встал на лапы

Зарегистрирован: Чт фев 16, 2012 15:22:06
Сообщений: 120
Рейтинг сообщения: 0
И здесь можно глянуть


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Вс июл 08, 2012 19:10:26 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
А вот шрифт в кодировке DOS размером 8x8 (не помню, но вроде бы я его когда-то с PC снял). И здесь код начинается с 0! Смещение символа равно 8*код символа.

Вложение:
font8x8.rar [1.38 KiB]
Скачиваний: 209

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Вс июл 08, 2012 20:48:23 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 29, 2011 14:16:22
Сообщений: 108
Откуда: __.DP.UA
Рейтинг сообщения: 0
Зукс писал(а):
Я так понимаю Ваш шрифт тоже с пропуском первых 32 символов? Размер символов указал правильно но символы не те выводятся что нужно... Кодировка таже?
Английский текст печатает нормально а русский - иероглифы

Шрифт с пропуском первых 32 непечатаемых символов кодировка 1251(русская тобишь), так что причина не в шрифте.
Я так понимаю, WinAVR - какой то особенный, если в нем не работает приведение типов:

ch=pgm_read_byte(&FONT8x15[(unsigned char) c-32 ][h]);

Без этого, на нормальных компиляторах тоже нормально вторая половина шрифта не отображалась.
Короче, теперь вопрос в том, как осуществляется приведение типов в WinAVR.

_________________
На любой вопрос даю любой ответ


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Вс июл 08, 2012 21:17:48 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Чт июл 21, 2011 19:56:10
Сообщений: 564
Рейтинг сообщения: 0
VDLab, У меня 5-я студия. На winavr все некак руки не доходят перейти... Может в ней и причина? Еще попробовал вывести на экран то что у меня находится в массиве символов и вот что вышло(правада все не влезли в экран):
Изображение
Это я коды символов передавал

_________________
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Вс июл 08, 2012 22:00:59 
Встал на лапы
Аватар пользователя

Зарегистрирован: Ср июн 29, 2011 14:16:22
Сообщений: 108
Откуда: __.DP.UA
Рейтинг сообщения: 0
Выглядит вроде нормально. Строчки с псевдографикой (7я и 8я) в принципе могут быть заполнены произвольными символами.
Цитата:
У меня 5-я студия...

Это ж вроде только среда разработки, а к ней уже компилятор подключается (насколько я знаю).

_________________
На любой вопрос даю любой ответ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Вс июл 08, 2012 22:48:19 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Чт июл 21, 2011 19:56:10
Сообщений: 564
Рейтинг сообщения: 0
компилятор шел вместе со студией, может это из-за него?

_________________
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 01:09:49 
Поставщик валерьянки для Кота

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Пт авг 29, 2008 16:28:19
Сообщений: 2108
Откуда: Киев
Рейтинг сообщения: 0
В пятой студии всё тот же AVR-GCC, а проект WinAVR уже заброшен. Так что не надо пороть гарячку - с компилятором всё ОК :)

_________________
Giggity giggity goo!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 01:41:08 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Чт июл 21, 2011 19:56:10
Сообщений: 564
Рейтинг сообщения: 0
Так в чем же тогда может быть проблема? Может компилятор както настроить можно? У меня студия отказывается работать с файлом если в его пути присутсвтуют киррилические символы. А теперь и при компиляции проблемы с кирилицей... :dont_know:

_________________
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 01:59:09 
Поставщик валерьянки для Кота

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Пт авг 29, 2008 16:28:19
Сообщений: 2108
Откуда: Киев
Рейтинг сообщения: 0
Нету никаких проблем с компиляцией, проблемы у Вас с текстовым редактором. Он по всей видимости использует UTF-8, а нужно cp1251. Нужно копаться в настройках студии, либо использовать другой редактор как временное решение.

_________________
Giggity giggity goo!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 02:54:52 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Чт июл 21, 2011 19:56:10
Сообщений: 564
Рейтинг сообщения: 0
Akelpad пишет (1251 ANSI кириллица)

_________________
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 08:13:25 
Поставщик валерьянки для Кота

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Пт авг 29, 2008 16:28:19
Сообщений: 2108
Откуда: Киев
Рейтинг сообщения: 0
Хм. С приведением типов в GCC всё в порядке (вроде бы):
Код:
#include <stdio.h>

int main()
{
char a  = -31;
unsigned char b = (unsigned char)a;
printf("%i, %i\n", (int)a, (int)b);
return 0;
}


Выводит -31, 225.

_________________
Giggity giggity goo!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 11:46:57 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Цитата:
Хм. С приведением типов в GCC всё в порядке (вроде бы):


Цитата:
Я так понимаю, WinAVR - какой то особенный, если в нем не работает приведение типов:
ch=pgm_read_byte(&FONT8x15[(unsigned char) c-32 ][h]);


В приведении типов надо вспоминать приоритет операций. Чтобы этим не заниматься, проще написать: ch=pgm_read_byte(&FONT8x15[((unsigned char) (c))-32 ][h]); и не мучаться. :)

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 15:30:29 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Чт июл 21, 2011 19:56:10
Сообщений: 564
Рейтинг сообщения: 0
Код:
void put_string(unsigned char x, unsigned char y, char *str, unsigned int color)
{
 unsigned char j;
 
  while (j =*str++)
  {
    LCD_Char(x , y, j, color);
    x+=CHAR_W;
  }
}

char *str
В передаче строки используется тип Char а не Unsigned char. Но когда пытаюсь поставить unsigned выдает ошибку "несоответствие типов". Как это исправить? Или там все нормально?
З.Ы. Может забить вообще на эту СИ-шку и перейти на старый добрый Паскаль? Там было все намного проще а тут только и делаю что на грабли наступаю... :facepalm: Вроде видел что Паскаль используют для АВР

_________________
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 17:45:59 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Цитата:
В передаче строки используется тип Char а не Unsigned char. Но когда пытаюсь поставить unsigned выдает ошибку "несоответствие типов". Как это исправить? Или там все нормально?


Так и должно быть.

Цитата:
Может забить вообще на эту СИ-шку и перейти на старый добрый Паскаль? Там было все намного проще а тут только и делаю что на грабли наступаю...


А вот этого не советую. Не имеет ни малейшего значения, какого типа у вас строка. Пусть будет char - это стандартная строка. Имеет огромное значение то, как вы будете вычислять смещение когда будете брать символы из строки.
Совершенно не важно, что у вас в программе ниже j - unsigned char. Очень важно, какого типа у вас символ внутри LCD_Char. Сделайте вот так вот и не мучайтесь: ch=pgm_read_byte(&FONT8x15[((unsigned char) (c))-32 ][h]);
Если и так не работает, то у вас просто коды символов перепутаны и всё - приведение типов тут не при чём.

Код:
void put_string(unsigned char x, unsigned char y, char *str, unsigned int color)
{
 unsigned char j;
 
  while (j =*str++)
  {
    LCD_Char(x , y, j, color);
    x+=CHAR_W;
  }
}


Цитата:
j =*str++


Это вам кто посоветовал так сделать? Не, ну если нравится извращениями заниматься, то, конечно. :)

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 17:57:10 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Чт июл 21, 2011 19:56:10
Сообщений: 564
Рейтинг сообщения: 0
Цитата:
Это вам кто посоветовал так сделать? Не, ну если нравится извращениями заниматься, то, конечно.

VDLab посоветовал. Я в Си-шке плохо разбираюсь
Код:
ch=pgm_read_byte(&FONT8x15[((unsigned char) (c))-32 ][h])

У меня эта часть выглядит вот так:
Код:
ch=pgm_read_byte(&FONT8x15[(unsigned char) c-32 ][h])

_________________
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 18:42:03 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Цитата:
VDLab посоветовал. Я в Си-шке плохо разбираюсь


А вы понимаете, что это выражение делает? И почему оно заканчивает вывод строки по достижению нуля. ;)

Цитата:
У меня эта часть выглядит вот так:


Вот функции печати:

Код:
//----------
//вывод символа в позицию
//----------
inline void LCD_PutSymbol(unsigned char x,unsigned char y,unsigned char symbol,unsigned short color,unsigned short bkcolor)
{
 if (symbol<32 || symbol>223) return;
 symbol-=32;
 LCD_SetOutputRectangle(x,y,x+7,y+13);
 for(y=0;y<14;y++)
 {
  unsigned char byte=pgm_read_byte(&(Font8x14[symbol][y]));
  for(x=0;x<8;x++,byte<<=1)
  {
   if (byte&0x80) LCD_SetPixel(color);
             else LCD_SetPixel(bkcolor);
  }
 }
}
//----------
//вывод строчки в позицию
//----------
inline void LCD_PutString(unsigned char x,unsigned char y,const char *string,unsigned short color,unsigned short bkcolor)
{
 unsigned char l=strlen(string);
 for(unsigned char n=0;n<l;n++,x+=8)
 {
  LCD_PutSymbol(x,y,string[n],color,bkcolor);
 }
}


Всё это печатается. Но в шрифте 8x14 нет маленьких русских букв.

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 18:42:55 
Поставщик валерьянки для Кота

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Пт авг 29, 2008 16:28:19
Сообщений: 2108
Откуда: Киев
Рейтинг сообщения: 0
da-nie писал(а):
В приведении типов надо вспоминать приоритет операций.
Вы не правы, операция отнимания на низком уровне одинакова для знаковых и беззнаковых чисел. Я также это проверил, отнимание до преобразования типа и после дает одинаковый результат, даже если там происходит переход через нуль.

_________________
Giggity giggity goo!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 18:49:50 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Чт июл 21, 2011 19:56:10
Сообщений: 564
Рейтинг сообщения: 0
Код:
А вы понимаете, что это выражение делает?

Честно говоря не совсем. Для меня пока язык СИ - далек. Я думаю там переменной J присваивается первый символ строки, потом следующий итд. и пока строка не закончится - цикл не завершается. А завершается наверное потому что в конце строки всегда находится ноль... Но каким образом переменная *str может в себе нести целую строку и код текущего символа этого мне не понять :shock: В Паскале такого небыло
Так в чем еще может быть проблема почему у меня русские символы не отображаются?

_________________
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисплеи от мобильных телефонов- осцилограммы работы
СообщениеДобавлено: Пн июл 09, 2012 18:55:57 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Цитата:
Вы не правы, операция отнимания на низком уровне одинакова для знаковых и беззнаковых чисел. Я также это проверил, отнимание до преобразования типа и после дает одинаковый результат, даже если там происходит переход через нуль.


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

Цитата:
Я думаю там переменной J присваивается первый символ строки, потом следующий итд. и пока строка не закончится - цикл не завершается. А завершается наверное потому что в конце строки всегда находится ноль...


Да, разумеется. :)

Цитата:
Но каким образом переменная *str может в себе нести целую строку и код текущего символа этого мне не понять :shock: В Паскале такого небыло


Переменная str - это только адрес строки в памяти и информация о типе того, что там в памяти. В цикле изменяется адрес. И читается их адреса символ.

Цитата:
Так в чем еще может быть проблема почему у меня русские символы не отображаются?


Я дал пример. Он работает у вас?

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


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

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


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

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


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

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


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