Протеус не запускает вместе <SD.h> и <Adafruit_SSD1306.h> библеотеки
- Войдите на сайт для отправки комментариев
Сб, 08/01/2022 - 22:35
НЕ могу разобраться конфликт интерфейсов?
Почему то как подключаю <SD.h> то экран не включается, При том конфликтов в программе нет, скетч компилируется
#include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <SD.h> File SDr; #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin) #define SCREEN_ADDRESS 0x3D ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire,OLED_RESET); int NUM = 0; // Number of snowflakes in the animation example void setup() { display.begin(SSD1306_SWITCHCAPVCC); // к библеотеке русских символов display.cp437(true); // назначение ввода Button pinMode(A0, INPUT_PULLUP ); pinMode(A1, INPUT_PULLUP ); pinMode(A2, INPUT_PULLUP ); //назначение SD pinMode(10, OUTPUT); if (!SD.begin(10)) { Serial.println("fallo en conexion!"); return; } Serial.println("initialization done."); SDr = SD.open("test.txt", FILE_WRITE); if (SDr) { Serial.print("escribiendo test.txt..."); SDr.println("testing 1, 2, 3."); // cerrar archivo: SDr.close(); Serial.println("done."); } else { // errror Serial.println("error abriendo test.txt"); } SDr = SD.open("test.txt"); if (SDr) { Serial.println("test.txt:"); // read from the file until there's nothing else in it: while (SDr.available()) { Serial.write(SDr.read()); } // close the file: SDr.close(); } else { // if the file didn't open, print an error: Serial.println("error abriendo test.txt"); } }
скорее всего памяти не хватает. ОЛЕД берет на экранный буфер 1 кб, SD еще как минимум 500 байт, а у Нано всего 2К
скорее всего памяти не хватает. ОЛЕД берет на экранный буфер 1 кб, SD еще как минимум 500 байт, а у Нано всего 2К
А что там включаться должно (я про дисплей)? Я вижу в коде вывод только в сериал)
А что там включаться должно (я про дисплей)? Я вижу в коде вывод только в сериал)
Тут просто переключение текста с помощью кнопок, и "русификатор" utf8rus
А ты скетч с полным выводом сообщений компилятора собираешь или нет?
А ты скетч с полным выводом сообщений компилятора собираешь или нет?
И как я по этой картинке ответ должен понять? Не проще написать просто «Да» или «Нет?
И как я по этой картинке ответ должен понять? Не проще написать просто «Да» или «Нет?
Сорян, просто же не ругается, так что наверно да...
И скетч вполне полный компелируется
Сделай так же и перекомпилируй:
Если в выводе что-то изменится скинь сюда ТЕКСТОМ.
Вам написали в #1, что скорее всего памяти не хватает.
Возможно Proteus при выполнении, пишет про это в в диагностических сообщениях.
Вам написали в #1, что скорее всего памяти не хватает.
Возможно Proteus при выполнении, пишет про это в в диагностических сообщениях.
Если код частями (через другие сообщения) появляется, то вполне может и пишет что-то, но об этом мы узнаем не скоро )))
Это он светодиодами пыталсо маргать в проте или нет? Янипомню. Напомните пжлст.
Вам написали в #1, что скорее всего памяти не хватает.
Возможно Proteus при выполнении, пишет про это в в диагностических сообщениях.
Если код частями (через другие сообщения) появляется, то вполне может и пишет что-то, но об этом мы узнаем не скоро )))
Нет, кроме Simulation is not running real time и тд, все норм
Не знаю почему конкретно из-за библиотеки SD.h не хочет дальше, наверно все таки этот виртуальный ардуино по памяти не хочет
Это он светодиодами пыталсо маргать в проте или нет? Янипомню. Напомните пжлст.
ДА
Помому мой был совет по поводу аналог\дигитал в свойствах компонентофф, и вроде я говорил, когда будешь работать с ШД на@@сси с симуляццией... вот те и результат.
скорее всего памяти не хватает. ОЛЕД берет на экранный буфер 1 кб, SD еще как минимум 500 байт, а у Нано всего 2К
Global variables use 407 bytes (19%) of dynamic memory, leaving 1641 bytes for local variables. Maximum is 2048 bytes.
замени прям в пр 328 мегу на 128 и попробуй, там пямяти больше. или 2560 вааще.
Адафруит замени на другую библиотеку.
Кстати - а в железе работает?
Нет, кроме Simulation is not running real time и тд, все норм
Проверил у себя на Proteus8.
Для 328 выводит кучу однотипных предупреждений для памяти (под катом только начало).
Для 2560 работает нормально и без предупреждений по памяти.