Проблема с библиотекой TVOut
- Войдите на сайт для отправки комментариев
День добрый! Только начал юзать Arduino. Начал с подключения платы к ТВ через TvOut
Все спаял, запустил. Работает. Проблема возникает, когда хочу подключить файлы с побитовыми изображениям. Я создал папку со своим проектом, запихал туда два файла "MyBitmap1.cpp" и "MyBitmap1.h".
В самом скетче прописываю:
#include "MyBitmap1.h"
В файле MyBitmap1.h:
#ifndef MYBITMAP1_H #define MYBITMAP1_H extern const unsigned char MyBitmap1[]; #endif
В файле MyBitmap1.cpp:
#include "MyBitmap1.h" PROGMEM const unsigned char MyBitmap1[] = { 13,16, 0x00,0x1C, 0x3F,0x54, 0x92,0xD3, 0x92,0xD3, 0x92,0x54, 0x3F,0x1C, 0x00,0x00, 0x1C,0xFE, 0x15,0x25, 0xE5,0x25, 0xE5,0x25, 0x15,0xFE, 0x1C,0x00 };
При проверке компилятор выдает "MyBitmap1.cpp:2: error: expected constructor, destructor, or type conversion before 'const'"
Не подскажите, в чем может быть проблема?
У меня вообще складывается впечатление, что арудиноувское ПО у меня с файлами что попало творит - то при запуске не находит файлы библиотек, подключенные в скетче, то ищет их где-то в левых папках...
Попробуйте так:
1. удалите .cpp файл
2. файл .h сделайте таким:
toc, это называется делать затычку или костыль. Никогда не инициализируйте переменные/массивы в заголовочных файлах. Да, в arduino это прокатит, но если Вы будете писать программы не только в ArduinoIDE, то будете удивлены предупреждениям, когда включите заголовочный файл в несколько других файлов.
Maxim1441, просто добавьте строку #include <avr/pgmspace.h> в начале MyBitmap1.cpp.
Я не поленился и заглянул сюда http://www.arduino.cc/en/Reference/PROGMEM там даже примеры есть.
Одному лень посмотреть примеры, другой советует что попало.
А насколько библиотека Tvout грузит ардуину (мега)?
Такое впечатление, что все ресурсы тратятся на нее...
Спасибо за ответы! Мне помогло такая фигня - просто скопировал папку с примером, идущем с либой, и там все лишнее стер. Так заработало.
Про "загрузку" - если динамическую картинку выводить, то да, капитально грузит. Я тренируюсь что-то типа игры делать. А там все динамично, поэтому в цикле стоит:
В общем, у меня там как гоночная аркада - дорога, три движущиеся линии разметки. Вот как на скрине, когда 4-е битовых изображения выводятся, то норм, а уже пятое добавляю - тормоза появляются. Да, МК у меня ATMega 328 (16Mhz, 32k ROM, 2k RAM).
Думаю, если TV.delay_frame(1) в проекте не критичен, то можно норм графику вывести.