Rasberry PI PICO (RP2040) продолжение темы

Покажите, в какой строчке вашего кода вы инициализирует SPI1?

Так ни в какой) все на одном spi висит) я и спросил как это сделать, но я нарыл spi1.begin() щас буду вертеть это дело посмотрим чё получиться)

На йух незнаю, это мне надо) я художник я так вижу)

если нарыть, а потом вертеть, то, вангую, нихрена не получится.

Ну да) чёт примеров нихера найти не могу, на кой хер столько spi выводов… Если автоматом не определяются, как их назначать та?

тут видимо

  #ifndef SPI01
	      // For ST7735-based displays, we will use this call
	      Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); // Only SPI0 ???
	      #else
	      //hard SPI для RP2040
	      Adafruit_ST7735 tft = Adafruit_ST7735(&SPI1, TFT_CS, TFT_DC, TFT_RST); //via hard SPI1
	      #endif
1 лайк

Вам может надо пересмотреть алгоритм ? Зачем Вам двумя ядрами работать с ОДНИМ железом ? Или Вы не в курсе что ЖЕЛЕЗО на ода ядра ОДНО !!!

1 лайк

еще один… вы там че через строчку читаете? надо заюзать экран и радиомодуль нрф24 на разных ядрах, кстати оказалось что то с эрлих ядром не заводиться нрф24

Что такое “эрлих-ядро” ? Это ядро Филхофера что ли? :slight_smile: ( Earle F. Philhower, III)

Насчет “не заводится” - пишите про себя. Никаких жалоб на то, что нрф24 не работает в 2040, я в сети не вижу - а значит у других все работает

А вы вообще что-нибудь в инете найти можете? В самом аддоне Филхофера не пробовали смотреть?
Вот у него пример - тут и использование двух SPI, и назначение сигналов каждого СПИ на конкретные пины.

ну один и тот же скетч, ядро меняешь и отмирает

void setup() {
      Serial.begin(115200);
    }
    
    void loop() {
      Serial.print("MOSI: ");
      Serial.println(MOSI);
      Serial.print("MISO: ");
      Serial.println(MISO);
      Serial.print(" SCK: ");
      Serial.println(SCK);
      Serial.print("  SS: ");
      Serial.println(SS);
      Serial.println();
      delay(5000);
    }

ну вот нашел скетч который выводит активные пины SPI, подключаю к ним нрф и тишина

Ну то есть это не “НРФ не работает”, а вы его не смогли запустить. Так и пишите.

запустил на Mbed!!!, ничего не меняя сменил на эрла и потухло!! и кстати все еще не могу завести) все пины поперетыкал уже)

Попробуй по прямой ссылке: https://pip-assets.raspberrypi.com/categories/609-microcontroller-boards/documents/RP-009085-KB-1-raspberry-pi-pico-c-sdk.pdf?disposition=inline

PS:

По ссылке там pdfка. Скачать\выложить?

Спасибо, мне эту ссылку уже давали выше. Она работает, я уже скачал.

я тебе ссылку дал на проект, там всё работает и на RP2040 и на ESP32, любой из дисплеев и NRF

Я второй день изучаю по 15 часов) у меня каша в башке уже) большая часть поискавика на заморские сайты которые не пашут (пора впн купить) там прям в заголовке мой вопрос. плюс я чайник который в школе лишь qbasik видел) ссылка на проект которую ты кинул просто иероглифы) хотя чо то я понял вроде завтра попробую) по факту у меня была идея просто выделить ядро чисто для стабильной связи по нрф с минимум задержек с обработкой данных на другом) но на этом Эрлих ядре просто не хочет работать нрф, как будто в ядре распиновка другая, Дэфайн как на экране пины запилить никак, зато экран работает, короче психанул взял пива) добра тебе)

там готовый работающий код, прямо первый пост, внизу код,свёрнут

а помогли мне в конце концов вот эти строчки

#if defined(SPI01) // для RP2040 SPI1
#define TFT_CS 13 // GP13 - CS (hard - 13)
#define TFT_RST 10 // GP14 - RESET (10)
#define TFT_DC 11 // GP15 - A0 (11)
#define TFT_MISO 12 // GP12 - MISO (MISO, RX) (hard - 12)
#define TFT_MOSI 15 // GP11 - SDA (MOSI, TX) (hard - 15)
#define TFT_SCLK 14 // GP10 - SCK (hard - 14)