Помогите работать с библиотеками
- Войдите на сайт для отправки комментариев
Пнд, 13/08/2012 - 01:37
помогите, пожста, разобраться с использованием библиотек.....
где их брать и куда размещать файлы ?
в частности - не могу победить <avr/pgmspase.h> :(
уже изучил всё описание.....
а где скачать эти файлы ? .h и .cpp ?
А зачем оно вам?
Что-то мне кажется, что конкретно pgmspase.h вы не найдете нигде. Попробуйте поменять на pgmspace.h и не ищите - за вас это сделает компилятор (найдет в <arduino>\hardware\tools\avr\avr\include\avr).
Добрый день !
...меняюсь с суток, к сожалению :(
попозже пропишу....
заинтересовался ВидеоПалкой, а там таблица генератора символов пишется во флэш.....
начал переписывать без PROGMEM.......
......начались ругательства компилятора :(
#include <avr/pgmspace.h>
String povtext = "ZENIT" ;
byte RefreshRate = 1 ;
int Dlina_Text = povtext.length() ;
byte Data_B = 0 ;
byte Data_C = 0 ;
byte Data_D = 0 ;
byte t ;
byte l ;
byte n ;
....пока вся проблема - в первой строке :(
остальное всё разобрал, всё понял
извините за SPASE :) :) :)
Я НЕМЕЦ :(
но искал - через копирование.... перечитал все описания....
но - как скачать эти .h и .cpp - нигде не нашёл :(
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii - поправте плиз свой пост
Ну и "на будущие пригодится" - http://arduino.ru/forum/obshchii/sokhranenie-kartinok-na-forume
Зачем вы вообще подключаете pgmspace? По приведенному коду не видно что-бы он использовался. И не предполагайте телепатов на форуме. Если "начались ругательства компилятора", то можно и сделать копипаст ругательства (лучше руками его не перенабирать). Он иногда тоже несет информацию что же именно ему не нравится.
сходил в папку, как Вы прописали......
да, pgmspace.h там лежит !!!!!!!!!!!!!!!!!!!!
...значит = где-то и pgmspace.cpp = ЕСТЬ ?
Т.Е = можно начинать паять ? :)
моя думал, что каждое ИНКЛУДЕ надо скачивать.... и размещать.....
Спасибо ОГРОМАДНОЕ !
но - как скачать эти .h и .cpp - нигде не нашёл :(
Обычно когда вы где-то видите "скачайте библиотеку отсюда", то там будет .zip файл, содержачий эти самые .h и .cpp. Его нужно будет распаковать, положить в папку arduino\libraries\ИМЯ_БИБЛИОТЕКИ\ и перезапустить ArduinoIDE
Но... не в вашем случае.
Весь этот процесс относится только к "дополнительным библиотекам", а pgmspace.h уже идет "из коробки" вместа с самой ArduinoIDE. Он уже скачан и положен "куда нужно". Нигде его искать и скачивать - уже не требуется. Вы его скачали вместе с ArduinoIDE
Более того, скорее всего даже делать #include <avr/pgmspace.h> - не нужно. Есть сильное подозрение что он "настолько стандартен", что ArduinoIDE, в заботе о чайниках, сама подключает его к любому скетчу. Попробуйте просто вытереть эту строку и воспользоватся какой-нибудь функцией/типом ради которой вы пытались сделать этот инклуд. Скорее всего заработает и так.
МОЖЕТ ЕЩЁ ПОСМОТРИТЕ МОИ НАЧИНАНИЯ ?
Делфи - поднадоело уже.....
...хочется к микросхемкам поближе :)
это я понял - что много предзагруженного есть.... :)
из темы - волшебная лампа....
Ардуина Уно, три полевика, кусок ленты RGB, два потенциометра (в задумке - джойстик) :
- канал_1 потенциометра - перебор цвета ленты - три канала ШИМ
- канал_2 потенциометра - установка яркости ленты
.....щас - текст....
//-----------------------------------------------------------------------
int LED_R = 3 ; // номер выхода ( ШИМ ) на ленту - R
int LED_G = 5 ; // номер выхода ( ШИМ ) на ленту - G
int LED_B = 6 ; // номер выхода ( ШИМ ) на ленту - B
int Sensor_RGB = A0 ; // номер входа - первый канал джойстика
int Sensor_Bright = A1 ; // номер входа - второй канал джойстика
int Value_RGB = 0 ; // значение для цвета ленты
int Value_Bright = 0 ; // значение для яркости ленты
int Value_R = 0 ; // значение для цвета ленты - R
int Value_G = 0 ; // значение для цвета ленты - G
int Value_B = 0 ; // значение для цвета ленты - B
//-----------------------------------------------------------------------
void setup() {
pinMode( LED_R, OUTPUT ) ;
pinMode( LED_G, OUTPUT ) ;
pinMode( LED_B, OUTPUT ) ; }
//-----------------------------------------------------------------------
void loop() {
Value_RGB = analogRead( Sensor_RGB ) ; // считываем положение первого канала джойстика - цвет ленты
Value_R = Value_RGB ; // R
while( Value_R > 255 ) { // R
Value_R = Value_R - 256 ; } // преобразуем цвет ленты для R
Value_G = Value_RGB / 2 ; // G
while( Value_G > 255 ) { // G
Value_G = Value_R - 256 ; } // преобразуем цвет ленты для G
Value_B = Value_RGB / 4 ; // B
while( Value_B > 255 ) { // B
Value_B = Value_R - 256 ; } // преобразуем цвет ленты для B
Value_Bright = analogRead( Sensor_Bright ) ; // считываем положение второго канала джойстика - яркость ленты
Value_R = map( Value_Bright, 0, 1023, 0, 255 ) ; // масштабируем цвет ленты с яркостью ленты - R
Value_B = map( Value_Bright, 0, 1023, 0, 255 ) ; // масштабируем цвет ленты с яркостью ленты - G
Value_G = map( Value_Bright, 0, 1023, 0, 255 ) ; // масштабируем цвет ленты с яркостью ленты - B
analogWrite( LED_R, Value_R ) ; // выводим значение цвета ленты для R
analogWrite( LED_G, Value_G ) ; // выводим значение цвета ленты для G
analogWrite( LED_B, Value_B ) ; } // выводим значение цвета ленты для B
//-----------------------------------------------------------------------
:( пока тока учусь вставлять текст проги.....
извините.....
а за что мне баллы начисляются ?!!!!!!!!!!!!!!!!!!!!!!!
я же здесЯ - лошара ещё.......
хочется иметь - 8_основных_цветов_ленты * 256_ШИМ_на _канал = 2048 цветов......
но в этом деле - пока чувствую за собой косячОк.....
....а в остальном - работоспособно ?
Ардуинку - пока ещё не прислали :(
:( пока тока учусь вставлять текст проги.....
извините.....
Я же дал вам ссылку на ветку где это описанно. Это прекрепленная ветка (самая первая) в форуме программирование.
Вместо извинений вы можете поправить свои прошлый посты - нажать кнопчку "Изменить".
Так же можно, при наборе поста, пользоваться кнопкой "Предпросмотр" - увидите как ваше сообщение будет вставлятся. Можете потренеироватся с "вставкой кода" таким образом.
да ! тормоз я.......
если бы компилятор не нашёл НУЖНОЕ - он бы ругался на вызов функции .....pgm_read_byte_near( letterArray + ( l * 15 + t ) )......
из библиотеки пгмспейс ?
спасибо !
...читал, пробовал
щас сеть слабоватая..... не получилось пока :(
вариант закомментировать #include не привёл к ошибкам !
т.е. = компилятор по умолчанию всё добавил ? КАК ВЫ И ПРЕДРЕКАЛИ ?
:)
не получается коды загрузить...... наверное, скорость маловата..... виснет окно "Синтакс ........... "
:(
Раз скорость маловато, то есть подозрение что сидите под оперой. Попробуйте хромом.
спасибо за науку ! :)
неееее, просто эксплорер :(
Все равно попробуйте хромом. У меня под ним - работает точно.
И это форум - не чат. Не обязательно каждое предложение слать отдельным постом :) (а на каждое из них приходить нотифай в почту).
Может еще какие-то баннерорезалки включены - тоже могут мешат.
форум - не чат !
...а как надо ?
:(
жать - ОТВЕТИТЬ ?
УЖ, ИЗВИНИТЕ, ПОЖСТА......
СПАСИБО !
...пойду учиться
а как убрать отсюда мою глупую тему ?
а как убрать отсюда мою глупую тему ?
Попросить админа ;)
а как убрать отсюда мою глупую тему ?
Никак.
С какого испуга админ будет ее убирать? Тема как тема. Может у кого-то еще такой же вопрос возникнет.
Вообщем привыкайте что все что вы постите "останется в истории". Думайте об этом прежде чем нажать кнопку "Сохранить" или "Завести тему". Ну и про "Предпросмотр" не забывайте.
форум - не чат !
...а как надо ?
:(
Сделать паузу между "мысль пришла в голову" и "нажал кнопку отправить". А то прямо поток создания постите в реал-тайм. Пришла пара-идей мыслей - ну опробуйте их сами. Потом отпишитесь о их результатах всех сразу, одним постом. В нем же и вопрос задайте.
Подумайте, что КАЖДОМУ человеку участвовавшему в вашей теме (плюс те кто через RSS читает) прийдет сообщение на почту, на каждое ваше "извините" отдельным постом. И у него будет выбор. Либо каждый раз жать ссылку и смотреть что вы написали, важное или не важное, или просто отписатся от вашей темы. Так что просто думайте стоит ли повод того что-бы "привлекать внимание".
Боятся "что-то написать" - конечно не нужно, но и другая крайность, общение в стиле SMS-сок - тоже не шибко здорово.
но - как скачать эти .h и .cpp - нигде не нашёл :(
.h - уже нашли
.cpp (а также .c) - не найдете. Ибо...
Все стандартные библиотеки, являющиеся частью языка или ядра микроконтроллера уже предварительно скомпилированы и располагаются в указанных папках в виде настояших (а не ардуиновских) библиотек. Нужные (вызываемые вами) функции будут подшиты оттуда линкером на этапе сборки исполняемого файла. Вам остается лишь пользоваться - да и то не всегда - файлами-заголовками (.h), в которых прописана информация, необходимая вызывающей программе для правильной передачи параметров функции и обработки возвращаемого значения.
Если вам что и понадобится - да и то, скорее всего, на этапе более глубокого освоения предмета - так это посещение каталогов <Arduino>\hardware\tools\avr\doc\avr-libc\man. Здесь можно найти кое-какую справочную информацию по заголовочным файлам и по правильному обращению с функциями в них объявляемыми.
За степень вашего щелкоперства и начисляются - каждый пост добавляет один балл.
С полезностью поста - как вы правильно подметили - этот показатель никак не связан.
но - как скачать эти .h и .cpp - нигде не нашёл :(
Обычно когда вы где-то видите "скачайте библиотеку отсюда", то там будет .zip файл, содержачий эти самые .h и .cpp. Его нужно будет распаковать, положить в папку arduino\libraries\ИМЯ_БИБЛИОТЕКИ\ и перезапустить ArduinoIDE
Но... не в вашем случае.
Весь этот процесс относится только к "дополнительным библиотекам", а pgmspace.h уже идет "из коробки" вместа с самой ArduinoIDE. Он уже скачан и положен "куда нужно". Нигде его искать и скачивать - уже не требуется. Вы его скачали вместе с ArduinoIDE
Более того, скорее всего даже делать #include <avr/pgmspace.h> - не нужно. Есть сильное подозрение что он "настолько стандартен", что ArduinoIDE, в заботе о чайниках, сама подключает его к любому скетчу. Попробуйте просто вытереть эту строку и воспользоватся какой-нибудь функцией/типом ради которой вы пытались сделать этот инклуд. Скорее всего заработает и так.
Помогите разобраться куда закидывать папку с библиотеками. раньше все работало, потом забросил ардуино сейчас снова решил кое чего поделать, но тексты не компилируются, все поудалял заново поставил новую версию. И сейчас совершенно случайно обнаружил что папка arduino\libraries\ИМЯ_БИБЛИОТЕКИ\ есть как на диске с/програм вайл х86, так и в "мои документы/ардуино" но во 2 случае была только 1 библиотека On.Ware и находились папка в папке, переделал не помогло. что еще смотреть http://arduino.ru/forum/programmirovanie/obrashchenie-k-dallas-18b20-po-ego-adresu вот тут описывал проблему, но тогда не знал что у меня 2 папки с библиотеками. Может че лишнее?
Сейчас попробывал загрузить Blink, выдает ту же ошибку
Старые библиотеки не совместимы с новыми версиями - поменялись назвния основных файлов arduino для include.
Старые библиотеки не совместимы с новыми версиями - поменялись назвния основных файлов arduino для include.
Теперь понятно. Я вчера удалил новую версию 1.6.7. в которой даже Blink не компилировался. Установил 1.0.5. Попробывал закинуть туда библиотеку OnWare которую раньше скачивал, но чет тоже не пошло. Выходит очень длинное сообщения:
Всем привет!
имеем такую ошибку
Даже если пофиксить эту ошибку, то скетч работать не будет. Потому что он - огрызок от чего-то большого.
Вряд ли. Вы же видели видео по ссылке.
Имя по буквам написать, и несколько экранов тетрис.
Вообщем поиск спеца на коммерческой основе продолжается
Вряд ли что? Потыкайте сами по своим ссылкам.
Я вам ответственно заявляю, что Blink_UKHAN.ino не содержит ничего, что выводит данные хоть куда-то.
Ну слушайте, Чип и Дип это продает набором , вместе с скейчем, другое дело у меня Ардуино не от них... гипотетически.
Теперь вижу, что ссылку подправили.
Но скачиваете и компилируете всё еще не то.
P.S. У меня вот вполне себе всё скомпилировалось:
Sketch uses 7,578 bytes (23%) of program storage space. Maximum is 32,256 bytes.
да нет я просто не ту ссылку дал) с мобильного, не совсем удобно вот что я пытался залить
Рецепт тот же: в файл LEDS_64_panel.h скетча #1 со страницы чипдипа вставить содержимое своего .ino без include.
То, что вы пытаетесь скопилировать в виде скетча - просто константы. Никакого интерпретируемого кода там нет.
Пробую. Спасибо!
Рецепт тот же: в файл LEDS_64_panel.h скетча #1 со страницы чипдипа вставить содержимое своего .ino без include.
То, что вы пытаетесь скопилировать в виде скетча - просто константы. Никакого интерпретируемого кода там нет.
Простите , вставить в какое место? Начало сейча, или ? Еще раз простите за тупость
Так.. Просто переименуйте свою футболку888 в LEDS_64... и переместите в каталог скетча с заменой.