Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
10.11.2015, 21:18
|
|
Прописка
Регистрация: 09.08.2006
Адрес: Нижний Новгород
Сообщений: 148
Сказал спасибо: 98
Сказали Спасибо 48 раз(а) в 27 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Подарили Fly DS103 с цветным экраном. Может кто пробовал? Или siemens A70 ?
|
|
|
|
15.11.2015, 12:54
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Курган
Сообщений: 161
Сказал спасибо: 31
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от Den05
|
Подарили Fly DS103 с цветным экраном. Может кто пробовал? Или siemens A70 ?
|
Я вам уже ответил на vrtp.ru
|
|
|
|
05.12.2015, 00:00
|
|
Прохожий
Регистрация: 05.12.2010
Сообщений: 9
Сказал спасибо: 2
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
У кого-нибудь есть даташит на S6D2125? Или хотя бы правильная инициализация.
Последний раз редактировалось Mrshilov; 08.12.2015 в 06:48.
|
|
|
|
13.12.2015, 18:53
|
|
Прохожий
Регистрация: 01.03.2014
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Добрый всем вечер. Кто - нибудь пробовал масштабировать шрифты? Хранить в памяти шрифты с большими буквами накладно. А если взять, скажем шрифт 5x8 и увеличить его в 4 раза? На просторах интернета я нашел что - то подобное:
Цитата:
|
//************************************************** *************
void LCD_draw_string_4X(const char* text, uint8_t xpos, uint8_t ypos){
for (unsigned char i = 0; text[i]; i++){ //
LCD_draw_char_4X(text[i], xpos + i * 18, ypos);}} //18 - расстояние между символами.
//************************************************** *************
void LCD_draw_char_4X(char code, char xpos, char ypos){ //
uint8_t d; //
for (int b = 0; b ‹ 4; b++){ //
GotoXY(xpos, ypos + b); //
for (int i = 0; i ‹ 6; i++){ //
if (i == 5) {d = 0;} //Шестой элемент всегда был 0 (в родной таблице)
else {d = (pgm_read_byte(&Font[code-0x20][i]) ›› (b * 2));}
uint8_t m = 0; //
if (d & 0x01) m |= 0x0F; //
if (d & 0x02) m |= 0xF0; //
for (int p = 0; p ‹ 3; p++) {Lcd_Write(DATA, m);}
} //for (int i = 0; i ‹ 6; i++)
} //for (int b = 0; b ‹ 4; b++)
} //void LCD_draw_char_4X(char code, uint8_t xpos, uint8_t ypos)
//************************************************** *************
|
Как это работает после строки pgm_read_byte(&Font[code-0x20][i]) понять мне пока сложно. Может кто из местных гуру разберет. Мне бы хотелось применить масштабирование 6х и 8х. Но уже с масштабом 4х символы получаются болше чем 16х32.
Шрифт полностью не привожу, он стандартный с набором русских букв:
Цитата:
|
//Формат символов: 5x8. Установленный бит соответствует включенному пикселю
const unsigned char Font[][5] PROGMEM ={
{0x00,0x00,0x00,0x00,0x00},//0x20 (space)
{0x00,0x00,0x5F,0x00,0x00},//0x21 '!'
{0x00,0x07,0x00,0x07,0x00},//0x22 '"'
{0x14,0x7F,0x14,0x7F,0x14},//0x23 '#'
{0x24,0x2A,0x7F,0x2A,0x12},//0x24 '$'
{0x23,0x13,0x08,0x64,0x62},//0x25 '%'
{0x36,0x49,0x55,0x22,0x50},//0x26 '&'
{0x00,0x05,0x03,0x00,0x00},//0x27 '''
{0x00,0x1C,0x22,0x41,0x00},//0x28 '('
{0x00,0x41,0x22,0x1C,0x00},//0x29 ')'
{0x08,0x2A,0x1C,0x2A,0x08},//0x2A '*'
{0x08,0x08,0x3E,0x08,0x08},//0x2B '+'
|
Да, и это работает в железе ATMega1284p + 1202LCD
Последний раз редактировалось Мегавольт; 13.12.2015 в 18:54.
Причина: ошибка
|
|
|
|
19.02.2016, 23:42
|
|
Прохожий
Регистрация: 19.02.2016
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Привет форумчане, помогите решить вопрос с отображение шрифта на дисплее с350 (ssd1770), запускаю все через ардуину 328мегу, в каком направлении мне копать ?
или как мне самому сделать шрифт для этого дисплея, образец одной букавки.
все запускатся будет через ардуинку, (общая идея запустить все это дело для астрографа)
Последний раз редактировалось Miromo; 08.04.2016 в 13:06.
Причина: корекция
|
|
|
|
20.02.2016, 16:45
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Курган
Сообщений: 161
Сказал спасибо: 31
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
а код можно посмотреть?
|
|
|
|
20.02.2016, 22:31
|
|
Прохожий
Регистрация: 19.02.2016
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
код драйвера и шрифта c350.rar
пробовал подставлять разные цыфры здесь:
Цитата:
|
//отображает на экране символ
void drvC350::SendLcdSymbol(byte data, byte ColAdr, byte PageAdr)
{
unsigned char PointerFont = data‹‹1;
//byte tmp = 0;
SendCom(ComSetColumnAddress);
SendData(ColAdr);
SendData(ColAdr+4);
SendCom(ComSetPageAddress);
SendData(PageAdr);
SendData(PageAdr+7);
SendCom(ComWriteDisplayData);
for(byte i = 0; i‹5; i++){
byte fontdata = pgm_read_byte(Font + PointerFont);
//byte fontdata = Font;
//byte fontdata = 0x20;
for(byte j = 0; j‹8; j++){
if (bitRead(fontdata, j)!=0) SendData(ColorPixel); // pixel ON
else SendData(ColorFill); // pixel OFF
}
PointerFont++;
}
}
|
сути не изменило, разные иероглифы появлялись но букв ниодной.
Последний раз редактировалось Miromo; 20.02.2016 в 22:41.
Причина: добавление для возникших вопросов
|
|
|
|
25.02.2016, 19:24
|
|
Прохожий
Регистрация: 19.02.2016
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
все решилось, дисплей с350 запустился с англ буквами нормально, в русских большой межбуквенный интервал крупный, почти в букву...
теперь возникла следующая задача, как вывести значения на дисплей, тоесть допустим у меня меняется в цикле значение делай от 5 до 10 милисекунд, и мне нужно это увидеть на дисплее ...
а выводится тока на дисплей "чар*" (стринг и символ), а как вывести значение...
|
|
|
|
26.02.2016, 12:15
|
|
Прописка
Регистрация: 05.12.2008
Адрес: Россия, Омск
Сообщений: 145
Сказал спасибо: 39
Сказали Спасибо 29 раз(а) в 22 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
Сообщение от Miromo
|
а выводится тока на дисплей "чар*" (стринг и символ), а как вывести значение...
|
1. Преобразовываете значение в строку.
2. Передаёте указатель функции вывода.
Например, так:
(Псевдокод)
Код:
|
#include ‹stdlib.h›
int val = 100;
int tmp;
char txt[20];
// Заполняем строку нулями.
for (tmp=5;tmp‹20;tmp++) {
txt[tmp] = 0;
};
txt[0] = 'V';
txt[1] = 'a';
txt[2] = 'l';
txt[3] = ':';
txt[4] = ' '; // Генерируем начало строки "Val: "
utoa(val, &(txt[5]), 10); // Переводим значение в текст (стандартная функция из STDLIB).
//LCD_PutText(txt); // Передаём в функцию вывода СТРОКИ.
SendLcdString(txt, X, Y); |
Последний раз редактировалось -Alan-; 26.02.2016 в 12:17.
Причина: Подставил функцию из драйвера
|
|
|
|
28.02.2016, 21:24
|
|
Прохожий
Регистрация: 19.02.2016
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Дисплеи от сотовых (схемы подключения, код, datasheet)
-Alan- , спасибо за подсказку, буду пробовать, разбираться.
1, подскажите как правильно сделать чтобы вывести "double" (double shag=29.530; )
2,я правильно понял как размещать код
*** перед сетапом***
int val = 100;
int tmp;
char txt[20];
***вставить в сетап***
// Заполняем строку нулями.
for (tmp=5;tmp‹20;tmp++) {
txt[tmp] = 0;
};
txt[0] = 'V';
txt[1] = 'a';
txt[2] = 'l';
txt[3] = ':';
txt[4] = ' '; // Генерируем начало строки "Val: "
utoa(val, &(txt[5]), 10); // Переводим значение в текст (стандартная функция из STDLIB).
//LCD_PutText(txt); // Передаём в функцию вывода СТРОКИ.
*** void loop() нижнее ставить сюда ***
SendLcdString(txt, X, Y);
Последний раз редактировалось Miromo; 08.04.2016 в 09:41.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:51.
|
|