компиллятор пишет - error! class SPIClass has not been declared и вылетает.
Причем #include <SPI.h> прописано вначале, а в SPI.h вполне себе определен класс SPIClass - это набор функций по работе с SPI. например void begin(); Точно также ругается любая библиотека работающая с SPI - не только BME. Раньше этого не было. Что испортилось?
И я что-то туплю. Что такое в этой строке &SPI. Класса, экземпляром которого является SPI, чей адрес берется - я не видел. И почему адрес 8битный?
Раньше такого не было - все собиралось (до установки stm32core)
Loyso Pondohva Скорее всего при Вашей аварийной сборке" допущена ошибка. Не установлены (забыты со временем) дополнительные библиотеки и/или "библиотеки по умолчанию" - те, содержимое которых используется косвенно... По крайней мере экспериментальная проверка у меня прошла весьма успешно. (https://radiokot.ru/forum/viewtopic.php ... 7#p3984617). Собственно по АРМам я только простую компиляцию "стандартного шаблона" сделал, а вот по АВРкиной платформе прогнал один из своих сложных проектов с "набором библиотек" - вполне корректно на всех из имеющихся в наборе сработало. Но там я за используемыми библиотеками сам слежу и в копии ставил те, что были использованы ранее.
При загрузке платформ на "затравку" для работы с АРМами надо было сначала поставить Arduino SAM Boards (32-bits ARM Cortex-M3) by Arduino версия 1.6.12 а уже потом установить STM32 Cores by STMicroelectronics версия 1.9.0 но никак не наоборот! Да и версию самой IDE надо подогнать до 1.8.9
Последний раз редактировалось BOB51 Сб фев 20, 2021 21:54:28, всего редактировалось 1 раз.
У меня работала BME280 на blue pill до установке stm32core. С библиотекой SAM cortex3 и еще какими-то примочками. Сейчас я все это (вроде бы) поставил - не работает. У меня вопрос по конкретному коду и согласованию библиотек а не по документации.
компиллятор пишет - error! class SPIClass has not been declared и вылетает. При этом есть в файле Adafruit_BME280.h строка #include <SPI.h> А в файле SPI.h (их несколько в разных местах ) везде прекрасно объявлен (declared) класс SPIClass.
Вопрос именно в этом. Мне не очень интересно про другие библиотеки вообще. Есть конкетная задача - сделать что бы SPI работал. Как понять почему это вылетает именно в данном случае? Что именно делать сейчас?
Последний раз редактировалось Loyso Pondohva Сб фев 20, 2021 22:00:43, всего редактировалось 1 раз.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
SPI должен быть в компиляторах "по умолчанию" - скорее всего таки накладка при сборке "резервной копии" Возможно стоит заново все пересобрать и перезагрузить. Я в своем разделе последовательность выложил. Правда возни мне было почти 2 дня на все это "колдовство со бубеном".
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
нормально в ардуино пример Adafruit_BME280 компилится для черной пилюли скопировал два файла библиотеки туда где скетч .cpp и .h https://github.com/adafruit/Adafruit_BME280_Library попросило сенсор скачал и скопировал еще два файла https://github.com/adafruit/Adafruit_Sensor после скопипастил родной пример - скомпилилось для BOB51 - так подключать библиотеки можно, описано референсом. Ровно так же и в референсе ардуино есть про папку "portable" з.ы. ничего лишнего не ставил только см. мои пакаджи выше
... для BOB51 - так подключать библиотеки можно, описано референсом. Ровно так же и в референсе ардуино есть про папку "portable" ...
Есть-то может и есть, но обычно вопрос такого изврата до момента "проблем с ХР" (а связаны оные точно с чем-то тырнетного происхождения) не возникал. А вот когда возник... ососбо лазить по сайту рядовой пользователь не сможет - нет той подготовки... Да и эксперименты с заменой действующего ПО проводить рисковано (особо на старой технике с ХР - там и так ресурсы ограничены). Посему самой методики изготовления резерва под ХР в принципе нету. А тут еще и "знаю, НО (своевременно) МОЛЧУ" - КУСЬ!!!
[ососбо лазить по сайту рядовой пользователь не сможет - нет той подготовки...
изучить учебный материал и документацию рядовой пользователь изначально просто обязан (имхо), иначе метод научного тыка - "это не наш метод"(с) А про портабле сразу есть ссылка в учебном материале "Install the Arduino Desktop IDE" - трудно слона не заметить, ведь рядовой пользователь в самом начале своей деятельности устанавливает програмное обеспечение. Или запустил сетап и понеслась, даже не глянув будет ли оно работать, в моей честно купленной/скачанной ОС. https://www.arduino.cc/en/Guide/PortableIDE сам только недавно озаботился виндовой версией портабле - нужно человеку было поставить на виндовс и не хотелось засирать ПК. Почитал как инсталировать, а там есть как делать портабле. Меня в линуксе лишь две папки вполне устраивало, несколько раз их просто переносил - там (в линуксе) вообще инсталяция Ардуино ИДЕ проще - распаковать архив и запустить скриптик - он только ярлык в меню и на рабочий стол ставит. Оно само после запуска создает еще одну (Карл) папку ".arduino15". К стати вес портабельной ардуино версии линукса с моими пакаджами всего 2Гб.
Портабле не значит резервирование. Посему и не обращалось внимание до определенной поры, пока не пошли проблемы с ХРшным тырнетом... Да и вряд-ли предполагалась подкачка обновлений на другой ОС с последующим "ретроградным переносом".
Относительно пользователя и инсталляции - обычно за пределы предлагаемого мастером установки большинство пользователей без особой на то надобности не суется.
а при чем тут резервирование, это был ответ на очередной непонятный наезд
Цитата:
А вот за идейку с portable я его мал покусаю - проблеме ардуинки для ХР уже более года, а этот вариант он только тут предложил!
https://www.radiokot.ru/forum/viewtopic ... 5#p3983905 насчет "обычно за пределы" - это прискорбно, результат на лицо - целый год решалась "проблема ардуинки". з.ы. Там кстати есть еще и исходники ИДЕ Ардуино - можно за год было освоить сборку новейших версий Ардуино ИДЕ под виндовс ХП, есть великая польза форуму
Ну что… Есть arduino IDE на которой можно работать и с синей, и с черной пилюлей. Привожу методику изготовления.
1. Берется дистрибутив ардуины (у меня 1.8.6 под ХР , можно страше – под свой комп).
2. Устанавливается. Запускается. Находится скрытая папка arduino15. В ней файл preferences.txt Создается в корне Arduino/ пустая папка portable и туда переносится этот файл.
3. Вся папка Arduino копируется в такое место, где нет защиты от записи. Теперь ардуина стала портабл!
Это – ссылка на репозиторий, где хранится код ля всяких плат. В том числе – stm32 самых разных.
5. Заходится Инструменты -> Плата… ->(вверху) Менеджер Плат. Загружается менеджер. Оттуда ставится пакет SAM Board contexM3.
В нем – компилятор для blue pill!
6. Если нужны процессоры линейки F3 или F4, например, black pill F411CE, то заходится в тот же Менеджер Плат и ставится еще один пакет STM32core. Он большой и ставится долго. Если нужна только blue pill – то пункт 6 можно пропустить.
7. (Внимание! Неочевидный момент!) Заходится сюда https://istarik.ru/file/STM32.zip и скачивется архив STM32.zip. Из него берется папка arduinoSTM32 и копируется в Arduino/hardwarе. В ней содержится (на мой вкус ) куда лучшая поддержка плат stm32f103, в том числе blue pill и примеры для нее, чем в STM32Core.
8. Запускается среда. Там много-много разных плат. Плата blue pill там будет два раза – из пакета STM32.zip и из STM32Core. Первый вариант быстрее компилируется и поддерживает STLink.
9. Все. Можно кодить. Библиотеки для ардуино atmega многие подходят – особенно если они общаются по I2C или SPI. Им пофиг на порты контроллера - I2C или SPI более-менее стандарт. Хотя, когда их нужно сразу несколько, нужно править библиотеку..
10. Если нет STLink в способах загрузки, то находите скрытую директроию TEMP в ней фал с расширением .hex с тем временем создания, которое самое последнее.Его прошиваете например STLink utility. black pill вроде бы можно и через USB загружать, но я не пробовал...
Из AVR8 поддерживают отладку (JTAG) не больше 10 моделей. С другими 8-ми битными аналогично.
Потому что это не так. Это обобщение, которое относится к некоторой части 8-битников. С АВР никогда дел не имел, но у них (по крайней мере у старых моделей), насколько я знаю, нет отладки, либо дебаггер неоправданно дорог. У современных АВР эпохи Майкрочипа скорее всего ситуация изменилась. Но я, как и прежде, к ним равнодушен.
Правильный первоисточник для "альтернативного варианта" STMок будет обозначен так: https://github.com/rogerclarkmelbourne/Arduino_STM32 хотя автор статьи на https://istarik.ru/blog/arduino/102.html#cut это указывает в тексте (как и правила установки соответствующего пакета). Насчет резервирования и скрытого каталога у меня несколько иное мнение... Но если получилось - "работает - не тронь!"...
oleg110592 К сожалению под ХР только ядро и пойдет... Дело в том, что в состав 1.8.13 а также в состав платформ минимум ESP8266(старше версии 2.5.0) включены элементы других ЯВУ с 64 разрядной организацией (тот же питон). Посему и оговаривается - для ХР только 1.8.9 - сама ХР уже "не потянет" новые системные расширения, однако вполне себе еще долго может послужить в качестве "рабочей лошадки".
Да, согласен! На гитхабе - самый правильный источник. А то вдруг другой архив станет недоступным. Я написал ссылку на первый найденный из тех, что прошли проверку (строго говоря, я не проверял как все собирается на архиве с гитхаба и та же самая ли это версия).
И статья незаменимая для начинающих синепилюльщиков (или блюпиллеров).
Дело в том, что в состав 1.8.13 а также в состав платформ минимум ESP8266(старше версии 2.5.0) включены элементы других ЯВУ с 64 разрядной организацией (тот же питон)
Питон там только для прошивки. была бы у меня ХР я б уж взял и попробовал, конкретно эти элементы с 64 разрядной организацией заменил их 32 битными аналогами. Вообще ардуино ИДЕ, если посмотреть - это просто набор разных сторонних утилит, тулчейнов и драйверов а основная программа на джаве все это интегрирует - в принципе при компиляции делает то же что и маке с макефайлом. И если посмотреть на состав ядра - там тоже особо сложного нет, разобравшись можно сделать свой вариант, под конкретный микроконтроллер, зачастую более оптимизированный, что люди собственно и делают. Для STM32 самый правильный вариант (имхо), который поддерживается производителем
Цитата:
С возвращением stm32duino.com Привет, сообщество stm32duino, после нескольких месяцев простоя, я рад сообщить, что stm32duino.com форум вернулся и жив! Во-первых, я хочу поблагодарить Роджера Кларка за всю его прекрасную работу для сообщества с момента создания этого сайта, а также за его поддержку и доброту. Хостингом теперь управляет ST, но модерацию будет проводить сообщество. Наслаждайтесь!
На ХР выбрасывается предупреждение - "софт не соответствует" и инсталляция прекращается. Уже проверено... Это же компонент самой платформы в целом - посему и не устанавливается. То же касается и случаев, когда установилась, но не работает (ESP32). Как говорится - "надо и совесть (от)иметь....". Так что радуемся тому, что осталось доступным под "древними раритетами".
Кстати... вышли обновляшки для mcuDude... Поставил на свой "резервный комплект" на флешке.
На ХР выбрасывается предупреждение - "софт не соответствует" и инсталляция прекращается
я устал, я мухожук. Уже ж проходили это - надо проводить инсталляцию 1.8.13 портабельной версии на ПК, где не будет прекращаться (подсказка начиная с виндовс7). Не забыть про бутылец . Или скачать готовую 1.8.13 , используя ссылку, давал в личке, про обсуждение портализации на родном ардуиновском форуме. https://github.com/technologiescollege/arduino потом заменяем все 64-х битное - там к стати некоторое 5 лет не менялось з.ы. про портализацию нашел совсем недавно - это чтоб наездов не было
Там (1.8.13) сама ХР х64 не потянет - меняй там чего или нет в адуринке.
Суть то не в "косметике" - это еще и в каждом обновлении придется заново все "шерстить" и по питону и по джаве ( и по Х/З еще чему в недалеком будущем). А такой вариант не для простого пользователя (продвинутые шкуродеры не в счет ). Так что для каждого варианта операционки - своя софтинка предпочтительна. Вполне достаточно для ХРшек ограничиться 1.8.9 и платформами, не использующими х64 компоненты. Это ведь по сути программатор под старую элементную базу (комп под ХР) - надежно и проверено годами и еще лет минимум с пяток проработает. А ужшш... при желании "покруче" - меняем и софт и комп.
Кстати за сотворение именно 1.8.9 портаблы... под ХР я уже давно разобрал и приготовил экземплярчик - сразу по "косвенной подсказке": https://www.radiokot.ru/forum/viewtopic ... 7#p3984617 единственна досада - решение на год запоздало.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения