Управление SPI-портом ESP32

#c #arduino #esp32 #spi

#c #arduino #esp32 #spi

Вопрос:

Поскольку я не могу управлять портами VSPI и HSPI, в частности, на ESP32, я попытался создать новый экземпляр «hspi» на основе примера «SPI_multiple_buses.ino».Затем я заменил SPI в библиотеке NRFlite. передача с помощью hspi.transfer`.Это часть эскиза:

 SPIClass * hspi = NULL;
NRFLite _radio;
RadioPacket _radioData;
void setup()
{
    Serial.begin(115200);
    hspi = new SPIClass(HSPI);
    hspi->begin();`
 

Я также заменил его в .cpp-файле библиотеки и библиотечной части:

  // Transfer with the Arduino SPI library.
        
        hspi->beginTransaction(SPISettings(NRF_SPICLOCK, MSBFIRST, SPI_MODE0));
        hspi->transfer(regName);
        for (uint8_t i = 0; i < length;   i) {
            uint8_t newData = hspi->transfer(intData[i]);
            if (transferType == READ_OPERATION) { intData[i] = newData; }
        }
        hspi->endTransaction();
 

однако при компиляции возникает ошибка: ошибка: ‘hspi’ не был объявлен в этой области

Возможно, я где-то ошибаюсь, но я не знаю, где?

Комментарии:

1. Пожалуйста, опубликуйте полный минимальный эскиз, демонстрирующий проблему. Это позволит людям, которые хотят помочь, воспроизвести ошибку, которую вы видите. Возможно, проблема в коде, который вы пропустили, и кода недостаточно, чтобы попытаться его скомпилировать.