Ви не увійшли.
Сторінки 1
Я начинающий и пока не знаю что такое U8g2 (или знаю но как то по другому ) вот даташит на мой дисплей: а pdf сюда нельзя загружать.
https://cdn.datasheetspdf.com/pdf-down/B/G/2/BG240128B2_Bolymin.pdf
Всем здравствуйте. Проблема такая: имеется GLCD 240х128 BG240128B2YP2 на процессоре SAP1024B он же t6963c и есть большое желание подружить его с apduino nano. Библиотеки которые находил в интернете или вообще не работают или работают только с мегой, решено было написать свою библиотеку, (пока только как функции, потом буду разбираться как сделать полноценную свою библиотеку) все получается кроме отображения переменных, точнее и переменные отображаются только через "быдло код", сначала перевожу переменную в строку потом копирую ее в функцию там создаю массив чар который отображается, получается три копии данных.
Вот что имею:
float a=13.2787;
int a1=-45;
LCD_GOTO_XY(1, 1);
LCD_PRINT_STRING("Float=");
LCD_PRINT(String(a,2)); // если переменная ФЛОАТ второй аргумент КОЛИЧЕСТВО ЗНАКОВ после запятой
LCD_PRINT_STRING(" ...OK ");
LCD_GOTO_XY(1, 3);
LCD_PRINT_STRING("Int=");
LCD_PRINT(String(a1)); // если переменная целочисленная второй аргумент СИСТЕМА ИСЧИСЛЕНИЯ.
LCD_PRINT_STRING(" ...OK ");
и сами функции:
//************************************************************************
void LCD_PRINT_STRING ( const char *string) { // Функция печати массива символов
int i;
int c;
for (i = 0; string[i] != 0; i++) {
c = string[i]- 0x20; // convert ASCII to LCD char address
if (c < 0) c = 0;
LCD_DATA_PUT(c);
LCD_COMMAND_PUT(B11000000); // write character, increment memory ptr.
}
}
//************************************************************************
void LCD_PRINT ( String value){ // ПЕЧАТАЕМ ПЕРЕМЕННУЮ
byte i=value.length()+1; // узнаем длину строки (+1 для конца)
char charBufVar[i]={0}; // создаем массив для элементов строки
value.toCharArray(charBufVar, i); // преобразуем строку в массив
LCD_PRINT_STRING (charBufVar); // печатаем массив символов.
}
//************************************************************************
Подскажите как избавиться от String в строке LCD_PRINT(String(a1)); чтобы работало как Serial.print() только без serial.
https://www.youtube.com/watch?v=uaiLcCd9Tnk примерно то что надо, осталось немного доработать.
Маленькая проблемка: английскиййййййййййй, ну ниче будем потихоньку разбираться, со временем, надеюсь буду использовать протейс больше чем на 10%, Спасибо за помощ, всем пока, пошел дальше в свой проект лепить, подключать DS18b20, разбираться с тайменгами ардуино.
А не подскажите где можно почитать (а лучше посмотреть видео ) как это сделать я только начинающий, учусь.
Протеус я тоже не покупал (есть крякнутый). С помощью отладчика ардуино иде я вообще пока еще не знаю как посмотреть регистры АЦП. также я писал что пока не имею платы (в железе) ардуины нано жду от китайцев. Всем спасибо проблему с протеусом решил: подключил пин 5V к питанию, землю мона не подключить. открыть терминал порта:В режиме симуляции Debug, и там в низу терминал порта.
у меня по аналоговому входу А0 стоит в протеусе потенциометр и ручка его выкручени в низ на землю, я подаю на вход А0 0 Вольт это видно на вольтметре, результат АЦП 1023 это максимум (это я понял) вопрос почему? на входе то 0. Склоняюсь к тому что протеус не корректно работает с АЦП. Как вставить сюда картинку пока не разобрался вот ссылка
И пин GND принудительно посадил на землю, не помогло.
"Может быть потому, что в симуляторе не задано входное значение (стимул)."
Только что попробовал пин ардуино REF подтянуть к питанию 5в, результат тот же 1023.
Я начинающий ардуинщик, в настоящие время нет в наличии платы ардуино нано (будет через месяц) и проверяю скейч в протеусе8, почему то хочет корректно работать АЦП функция analogRead(A0) всегда возвращает максимум 1023. Что я не так делаю? не хватает знаний, тыкните меня носом в ошибку или у кого есть возможность проверить в жилезе (будет оно работать?) скейч и фаил протеуса прикрепляю. Зарание благодарен.
LED_arduino.rar
Сторінки 1