Я посмотрел исходник, который, очевыдно, Вы пытаетесь вывесть. Если это из примера
//...
LcdsetFont(font_5x5);
LcdGotoXY(0, 0);
LcdPrint("1234567890abcABCD\n", ON, 1);
LcdsetFont(font_5x8);
LcdPrint("1234567890abcdабв\n", ON, 1);
LcdsetFont(font_7x15);
LcdPrint("1234567890\n", ON, 1);
LcdsetFont(font_10x16);
LcdPrint("012345678", ON, 1);
//...
то всё дело, как я и предпологал в адресации банков.
В примере самый маленький шрифт(5х5) должен выводиться в верхней строчке. В вашем экране всё наоборот.
Разница у экранов Nokia и Siemens больше чем я думал.
Вывод данных у обоих экранов идёт с права на лево, но у Siemens с верху в низ, а у Nokia, очевидно, в низу вверх.
Я посмотрел исходник, который, очевыдно, Вы пытаетесь вывесть. Если это из примера
//...
LcdsetFont(font_5x5);
LcdGotoXY(0, 0);
LcdPrint("1234567890abcABCD\n", ON, 1);
LcdsetFont(font_5x8);
LcdPrint("1234567890abcdабв\n", ON, 1);
LcdsetFont(font_7x15);
LcdPrint("1234567890\n", ON, 1);
LcdsetFont(font_10x16);
LcdPrint("012345678", ON, 1);
//...
то всё дело, как я и предпологал в адресации банков.
В примере самый маленький шрифт(5х5) должен выводиться в верхней строчке. В вашем экране всё наоборот.
Разница у экранов Nokia и Siemens больше чем я думал.
Вывод данных у обоих экранов идёт с права на лево, но у Siemens с верху в низ, а у Nokia, очевидно, в низу вверх.
Придётся немного поколдовать
Да так оно и есть. Я пытался что-то из графики, но похожая ситуация и действительно как- то шиворот на выворот :-). Вот попробовал вывести рамку:
hugoboss317, я извиняюсь , постом выше я выложил фото не редактированную библиотеку. Если отредактирать как Вы написали - вообще пустой экран и ничего не выводит. Фото в посте 154.
У меня тоже будет просьба, раз уж такое дело. Я пока заново изучал свою библиотеку, решил ещё немного оптимизмровать. У меня нет возможности проверить. Смысл в том чтоб массив отчищать не после вывода всего, а каждый байт отчищать сразу после вывода на экран.
Для этого нужно закоментировать следующим образом строки с 17 по 21
/*for(b = 0; b < m; b++){
for(p = 0; p < X_RES; p++){
Lcd_page[p][b-1] = 0b00000000; //отчищаем массив
}
}*/
У меня тоже будет просьба, раз уж такое дело. Я пока заново изучал свою библиотеку, решил ещё немного оптимизмровать. У меня нет возможности проверить. Смысл в том чтоб массив отчищать не после вывода всего, а каждый байт отчищать сразу после вывода на экран.
Для этого нужно закоментировать следующим образом строки с 17 по 21
/*for(b = 0; b < m; b++){
for(p = 0; p < X_RES; p++){
Lcd_page[p][b-1] = 0b00000000; //отчищаем массив
}
}*/
а сразу после 13 строчи в тело оператора вставить
Lcd_page[p][b] = 0b00000000;
Вот так я сделал :
uint8_t LcdPageTWO(void)
{
uint8_t step, p, b, m = 3;
switch(page){
case 3: step = 5; break;
case 2: step = 2; break;
case 1: step = 0; m = 2; break;
}
LcdWrite(LCD_C, 0x40 + step ); // установка адреса по Y: в банк 0...3...6
LcdWrite(LCD_C, 0x80); // установка адреса по X:
for(b = m; b > 0; b--){
for(p = X_RES-1; p < X_RES; p--){
LcdWrite(LCD_D, Lcd_page[p][b-1]); //выводим сформированый массив
}
LcdWrite(LCD_D, 0x0); //регистр 102 в видеопамяти
Lcd_page[p][b] = 0b00000000;
}
// for(b = 0; b < m; b++){
// for(p = 0; p < X_RES; p++){
// Lcd_page[p][b] = 0b00000000; //отчищаем массив
// }
// }
page--;
return page;
}
Я посмотрел исходник, который, очевыдно, Вы пытаетесь вывесть. Если это из примера
то всё дело, как я и предпологал в адресации банков.
В примере самый маленький шрифт(5х5) должен выводиться в верхней строчке. В вашем экране всё наоборот.
Разница у экранов Nokia и Siemens больше чем я думал.
Вывод данных у обоих экранов идёт с права на лево, но у Siemens с верху в низ, а у Nokia, очевидно, в низу вверх.
Придётся немного поколдовать
Я посмотрел исходник, который, очевыдно, Вы пытаетесь вывесть. Если это из примера
то всё дело, как я и предпологал в адресации банков.
В примере самый маленький шрифт(5х5) должен выводиться в верхней строчке. В вашем экране всё наоборот.
Разница у экранов Nokia и Siemens больше чем я думал.
Вывод данных у обоих экранов идёт с права на лево, но у Siemens с верху в низ, а у Nokia, очевидно, в низу вверх.
Придётся немного поколдовать
Да так оно и есть. Я пытался что-то из графики, но похожая ситуация и действительно как- то шиворот на выворот :-). Вот попробовал вывести рамку:
напечатало вот так :
Да, так и есть. Адресация банок с низу вверх. С шириной и лишним регистром кажется угадали.
Делаем следующее:
Примерно на строчке 103 в файле .cpp есть такое дело:
Меняем на
Дальше по тексту меняем:
на
И опять сюда рамочку
Рамки я не увидел:
Ну попробуйте ещё что то вывести. Нам сейчас нужно понять где заканчивается музыка.
Можно из примеров. Можно линии полосочки - неважно.
Вот лев - видно, что часть ног вверху:
Вот эта строка повторялась два раза: 1
for
(b = 0; b < m; b++){
и в обоих я поменял на
for
(b = m; b > 0; b--){
Помоему 8х8 чередуются не в той последовательности. Низ вверху, а верх внизу.
Во втором случаи отчищается массив, там менять ничего не надо.
Такое чувство что Вы сто то не поменяли.
Покажите как теперь выглядит олностью функция в библиотеке
hugoboss317, я извиняюсь , постом выше я выложил фото не редактированную библиотеку. Если отредактирать как Вы написали - вообще пустой экран и ничего не выводит. Фото в посте 154.
Пытался найти даташит на 3410, но безрезультатно.
Только вот это:
https://www.rlocman.ru/shem/shem-cache.html?di=18881
Покажите как теперь выглядит полностью функция в библиотеке
Строка 12 это что?
Внимательней.
И строчку 13 наверное нужно заменить
Вот уже получше:
Ну в принципе всё. В примерах просто не ваше разрешение.
Да, я так и понял. Огромное спасибо. Далее, думаю, разберусь что и как. :-)
У меня тоже будет просьба, раз уж такое дело. Я пока заново изучал свою библиотеку, решил ещё немного оптимизмровать. У меня нет возможности проверить. Смысл в том чтоб массив отчищать не после вывода всего, а каждый байт отчищать сразу после вывода на экран.
Для этого нужно закоментировать следующим образом строки с 17 по 21
а сразу после 13 строчи в тело оператора вставить
У меня тоже будет просьба, раз уж такое дело. Я пока заново изучал свою библиотеку, решил ещё немного оптимизмровать. У меня нет возможности проверить. Смысл в том чтоб массив отчищать не после вывода всего, а каждый байт отчищать сразу после вывода на экран.
Для этого нужно закоментировать следующим образом строки с 17 по 21
а сразу после 13 строчи в тело оператора вставить
Вот так я сделал :
и вот, что получилось:
доброго времени суток. ооо скоро будет обновления библиотеки ? а можно вмуровать вивод чисел с плавающей запятой ?
Приветствую. Пока библиотека еще сыровата. Автор сегодня не выходил на связь. Жду от него ответа по предедущему вопросу.
Я же сказал, в тело оператора
Вот получилось, извините за качество:
hugoboss317, ище один ньюанс. Взял другой LCD 3410 и не понятно почему, но он ведет себя с Вашей библиотекой иначе.
Вот что он печатает, хотя с библиотекой 8glib, ничего такого не наблюдал:
Несколько раз перепрошивал ардуинку - то с первым, то со вторым дисплеем. В чем закавыка ?????
ну не знаю. уже несколько лет использую библиотеку, устройства работают стабильно и надежно. есть недостаток, числа с плавающей запятой.
Другое разрешение
Другое разрешение
Да, действительно поменял рарешение и результат :
Оба экрана с Nokia 3410, а разрешения разные.
Что то не то всё равно. Надо вертикальную линию вывести на всю высоту.
ну вы сравните примеры с вашим кодом
lsm, Вы бы для начала расставили комментарии - для чего каждая строка нужна. Глядишь, в процессе этой работы и сами поняли бы, в чем дело.
Любой пример при компилляции выдает ошибку. Жалуется на отсутствие wiring.h. В архиве данного файла нет. Где его брать, мож кто поделится? Спасибо)
Любой пример при компилляции выдает ошибку. Жалуется на отсутствие wiring.h. В архиве данного файла нет. Где его брать, мож кто поделится? Спасибо)
Я ещё нашёл в этом же файле ошибку. Или перезагрузите файл или в строке №120 нужно закомментировать скобку.
было так:
надо так: