Электронный бумажный дисплей и Raspberry Pi Pico

Мы работаем над проектом, чтобы дисплеи электронной бумаги работали с платой Raspberry Pi Pico. Нам уже удалось заставить все работать с платой ESP8266, но из соображений энергопотребления мы хотели бы использовать Pico. Мы используем дисплей с электронной бумагой Waveshare 2.9 "SPI.

Мы пытаемся использовать эту библиотеку: https://github.com/ZinggJM/GxEPD2

Он хорошо работает с ESP8266, удалось ли кому-то заставить его работать также с Raspberry Pi Pico, и если да, не могли бы вы дать какие-либо советы, как заставить его работать с Pico? Пожалуйста, найдите прикрепленное сообщение об ошибке, которое мы получили.

Это сообщение об ошибке, которое я получаю:

      Arduino: 1.8.13 (Windows 10), Board: "Raspberry Pi Pico, Serial, None"

C:\Users\   \Documents\Arduino\libraries\GxEPD2\src\GxEPD2_EPD.cpp:17:10: fatal error: pgmspace.h: No such file or directory

   17 | #include <pgmspace.h>
      |          ^~~~~~~~~~~~

compilation terminated.
exit status 1
Error compiling for board Raspberry Pi Pico.

Строки ниже из этого файла GxEPD2_EPD.cpp:17:10:

      14 #if defined(ESP8266) || defined(ESP32) 
15 #include <pgmspace.h>
16 #else
17 #include <avr/pgmspace.h>
18  #endif

1 ответ

Заголовок, который он не находит, pgmspace.h, который поддерживает доступ к программной памяти на Arduinos на базе AVR (которые используют модель памяти Гарварда). Это не требуется для большинства 32-битных процессоров, поскольку они имеют плоскую модель памяти фон Неймана. Многие другие 32-битные платы (например, плата для Arduino Due или ESP32) включают фиктивный файл заголовка для имитации поведения AVR. Поскольку это не что иное, как заменяющие макросы, вы можете использовать реализацию Arduino Due (которая по идее очень близка к Raspberry Pico). Определение здесь.

Другие вопросы по тегам