Easyelectronics.ru

Электроника для всех
Текущее время: 08 окт 2024, 20:28

Часовой пояс: UTC + 5 часов




Начать новую тему Ответить на тему [ Сообщений: 30 ] На страницу 1, 2  След.
АвторСообщение
 Заголовок сообщения: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 14:08 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
Нужен совет или помощь!
Что я делаю не так?
Есть библиотека для дисплея TFT_eSPI, есть дисплей ST7789, есть ESP32S3.
Подключаю дисплей к:
#define TFT_MOSI 11
#define TFT_SCLK 12
#define TFT_DC 21
#define TFT_RST 47

Без включения PSRAM всё работает, после включения перестаёт работать.
Я так понимаю, что PSRAM подключена к выводам 11 и 12.

Ошибку в порт выкидывает вот такую:
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x8 (TG1WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40377991
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a68
entry 0x403c98d4

Вопрос тогда такой, получается первые 3 SPI заняты самой ESP, и остаётся один.
Правильно я понимаю или нет?
И написано, что у последнего SPI можно задать выводы, а по дефолту они какие?
На эту S3 ни описания, не фига нет человеческого!


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 14:58 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 8818
Во ВСЕХ esp32 SPI0-1 используются для внутренних нужд и не могут быть безнаказанно задействованы снаружи. Фактически, их нет. SPI2(3) доступны на общих основаниях.


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 15:34 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2656
TrD писал(а):
Нужен совет или помощь!
Что я делаю не так?
На эту S3 ни описания, не фига нет человеческого!

Охренеть. Мне казалось сейчас никого не отключают от интернета.


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 17:53 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
x893 охренеть, я что в интернете?! Я даже нормального мануала на эту S3 найти не могу!
u37 Понятно что первые два SPI на нужды задействованы самой ESP, вот только не понятно на каких ногах у него ещё SPI есть.
Спрошу по другому!
Ткните меня в мануал, где описаны ВСЕ ФУНКЦИИ выводов для модуля ESP32S3.

Форум стал помойкой с балбесами, которые считают себя умнее всех, но отвечать на вопросы не хотят.
Так вот, если Вы на столько умны и ни кому не хотите помогать, то просто не заходите сюда, тут ни чего умного для вас нет.


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 19:09 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
В общем, дело даже не в портах физических, а в программных.
В настройках TFT_eSPI Есть файл Setup70b_ESP32_S3_ILI9341.h, это для ILI9341, но легко переделывается в ST7789.
Там есть дефайны

#define TFT_CS -1//34 // 10 or 34 (FSPI CS0)
#define TFT_MOSI 35 // 11 or 35 (FSPI D)
#define TFT_SCLK 36 // 12 or 36 (FSPI CLK)
#define TFT_DC 39
#define TFT_RST 38
#define TFT_MISO -1//37 // 13 or 37 (FSPI Q)
#define TOUCH_CS -1
// FSPI (or VSPI) port (SPI2) used unless following defined. HSPI port is (SPI3) on S3.
#define USE_HSPI_PORT

По поводу последнего. Если строка закомментирована, то будет вот это:
Core 1 reESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x8 (TG1WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403778b5
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a68
entry 0x403c98d4

Если раскомментировать, то станет это:
Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x42027fb2
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a68
entry 0x403c98d4
Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled.

Core 1 register dump:
PC : 0x4037d6c8 PS : 0x00060633 A0 : 0x8037fe28 A1 : 0x3fcebba0
A2 : 0xcde8cde8 A3 : 0xb33fffff A4 : 0x0000cdcd A5 : 0x00060623
A6 : 0x00060620 A7 : 0x0000abab A8 : 0x0000abab A9 : 0xffffffff
A10 : 0x3fc95b60 A11 : 0x000000ee A12 : 0x0000094c A13 : 0x00000001
A14 : 0x90e8cde8 A15 : 0x00ffffff SAR : 0x00000012 EXCCAUSE: 0x0000001d
EXCVADDR: 0xcde8cde8 LBEG : 0x400570e8 LEND : 0x400570f3 LCOUNT : 0x00000000


Backtrace: 0x4037d6c5:0x3fcebba0 0x4037fe25:0x3fcebbe0 0x4037ff81:0x3fcebc00 0x40377bd3:0x3fcebc20 0x40377c24:0x3fcebc50 0x4038038e:0x3fcebc70 0x403803ac:0x3fcebc90 0x420042ee:0x3fcebcb0 0x420043f1:0x3fcebcd0 0x4200184e:0x3fcebcf0 0x42007bfe:0x3fcebd10

В общем, я ни чего не понимаю с этой S3!

Видимо, я не пойму, как настроить SPI в TFT_eSPI


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 19:57 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2656
.


Последний раз редактировалось x893 05 дек 2023, 20:17, всего редактировалось 1 раз.

Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 20:12 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
x893 И с этим всё понятно.
Не понятно как программировать ноги SPI.
Не понятно где указывать какой SPI использовать в TFT_eSPI.
С тем, что первые два SPI заняты я знал, сам лоханулся, но дело теперь не в физических пинах.

И с настройками, как выше, когда MOSI 35, SCLK 36 в настройках TFT_eSPI\user\файл настроек, при включённом PSRAM, тоже ни чего не работает.
То есть, такое ощущение что выводы сменились, а SPI остался первым.
Кстати, PSRAM OPI.
Отключить PSRAM не предлагать, иначе нафига нужен S3!?



Продолжение!
Маразм переходит в другую плоскость!
Дисплей инициализацию всё это время проходил. Даже учитывая, что он сначала был подключён к пинам 11 и 12.
То есть, он проходил инициализацию, заливался чёрным цветом и только после этого происходила перезагрузка.
А перезагружается он на строке background.createSprite(240,240);

Чтоб было понятно:
TFT_eSPI tft = TFT_eSPI();
TFT_eSprite background = TFT_eSprite(&tft);
TFT_eSprite needle = TFT_eSprite(&tft);
TFT_eSprite needle_sub = TFT_eSprite(&tft);

void setup() {
tft.init();
tft.setRotation(3);
tft.fillScreen(TFT_BLUE);
tft.setSwapBytes(true);


tft.setPivot(120,120); //Устанавливаем центр, вокруг которого будут вращаться спрайт
background.createSprite(240,240);
background.setSwapBytes(true);
background.pushImage(0,0,240,240,logo); //Помещаем картинку в спрайт.
background.pushSprite(79,0); //Отрисовываем на экране спрайт.
}

То есть, тут реально какая-то фигня с памятью!


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 22:14 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
Слушайте, мне тут под руку попалось вот это:
In module variants that have embedded OSPI PSRAM, i.e., that embed ESP32-S3R8, pins IO35,
IO36, and IO37 connect to the OSPI PSRAM and are not available for other uses

А теперь объясните мне уже! КАКИЕ ВЫВОДЫ У ЭТОГО ЧЁРТОВОГО МОДУЛЯ МОЖНО ИСПОЛЬЗОВАТЬ?????
10,11,12 пробовал- цикличная перезагрузка
34,35,36 тоже пробовал и эффект тот же!

Где у этого говна с именем ESP32-S3-WROOM-1 N16R8 вообще тогда SPI?
У него они все чтоль заняты?
Где эти мифические два свободных SPI?

Какие вообще выводы по дефолту у портов SPI на этом модуле?
К каким ещё выводам прицепить дисплей?
Это уже ради спортивного интереса. Если у этого камня в таком исполнении только один SPI свободен, то я уже просто в шоке!

И я уже совсем запутался!
Везде всё по разному!
Нашёл ещё вот такое:
https://api.riot-os.org/group__cpu__esp32__esp32s3.html

ESP32-S3-WROOM-1x-N16R8 ESP32-S3R8 16 MB (Quad SPI) 8 MB (Octal SPI)

GPIO26 In/Out - - X Flash/PSRAM SPICS1 not available if SPI RAM is used
GPIO27 In/Out - - X Flash/PSRAM SPIHD not available
GPIO28 In/Out - - X Flash/PSRAM SPIWP not available
GPIO29 In/Out - - X Flash/PSRAM SPICS0 not available
GPIO30 In/Out - - X Flash/PSRAM SPICLK not available
GPIO31 In/Out - - X Flash/PSRAM SPIQ not available
GPIO32 In/Out - - X Flash/PSRAM SPID not available
GPIO33 In/Out - - X Flash/PSRAM SPIQ4 not available if octal Flash or SPI RAM is used
GPIO34 In/Out - - X Flash/PSRAM SPIQ5 not available if octal Flash or SPI RAM is used
GPIO35 In/Out - - X Flash/PSRAM SPIQ6 not available if octal Flash or SPI RAM is used
GPIO36 In/Out - - X Flash/PSRAM SPIQ7 not available if octal Flash or SPI RAM is used
GPIO37 In/Out - - X Flash/PSRAM SPIQ8 not available if octal Flash or SPI RAM is used
GPIO38 In/Out - - X Flash/PSRAM SPIDQS not available if octal Flash or SPI RAM is used

НО ТОГДА ПОЧЕМУ НИ ЧЕГО НЕ РАБОТАЛО ПРИ ПОДКЛЮЧЕНИИ К 10,11,12???? Какой это тогда SPI?


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 23:06 
Старожил

Зарегистрирован: 25 сен 2017, 10:57
Сообщения: 312
Откуда: Украина
Да вроде любые свободные выводы можно использовать, я на esp32s2 для I2S выбрал те выводы которые мне были удобнее.


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 05 дек 2023, 23:43 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
Короче, дошёл я до реальности!
Я не знаю это только у меня или просто так повелось, но если подключаешь DC дисплея к выводу GPIO46, то ESP не входит в режим загрузки прошивки.
И собственно всё время, которое я мучился, ну ладно не всё, а 90%, это просто из за того, что не заливалась прошивка, а я этого не видел.
Теперь всё работает нормально. Пины такие:
#define TFT_MOSI 11
#define TFT_SCLK 12
#define TFT_DC 3
#define TFT_RST 9
они все с торца модуля. Очень удобно.

Ну и теперь вопрос!
Где ещё один SPI искать? Или его нет и он занят PSRAM


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 06 дек 2023, 00:09 
Старожил
Аватара пользователя

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 6737
Откуда: КЧР, поселок Нижний Архыз
Учитывая то, насколько убог HAL ESP32, не удивлюсь, что SPI здесь программный… Иначе зачем надо было бы ноги MOSI/SCLK объявлять?
Под нее, кстати, все еще невозможно baremetal писать?

_________________
Адрес: спортлото


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 06 дек 2023, 12:44 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
Eddy_Em конечно не возможно.
Если бы это было возможно, то половину вопросов сами собой отвалились бы.

Сегодня тест до конца дописал. В общем теперь памяти хватает чтоб дисплей 320х240 полностью обновлять.
Естественно со включённой PSRAM.
Но вопрос всё же в силе! В версии S3 с PSRAM на борту внаружу торчит только один SPI чтоль?
Или я чего-то не понимаю?


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 06 дек 2023, 14:50 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 8818
На esp32(s3) есть два основных документа - DS и RM. Изучение их обязательно. В DS "3.5.2 Serial Peripheral Interface (SPI)".
И там же указано, что SPI3 _не_ выходит через "IO MUX Pins", а только через "GPIO Matrix", в отличии от SP2, который выходит и так и так.
После этого идет строка "For details, see ESP32-S3 Technical Reference Manual > Chapter SPI Controller.".


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 06 дек 2023, 14:54 
Старожил
Аватара пользователя

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 6737
Откуда: КЧР, поселок Нижний Архыз
TrD писал(а):
Eddy_Em конечно невозможно.

Тогда вопрос: на кой черт себя насиловать и из этого говнища пытаться конфетку сделать? Берешь любой МК, который знаешь, и который имеет нужные характеристики - вуаля!!!
А если нужна связь с внешним миром, можно либо использовать ESP01 (при помощи AT-команд), либо уж взять orange pi zero2 и на нормальном линуксе писать нормальные сетевые демоны (а с МК взаимодействовать по USB или UART).

_________________
Адрес: спортлото


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 06 дек 2023, 14:57 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2656
Ржу нимагу
Вложение:
Untitled.png
Untitled.png [ 47.28 Кб | Просмотров: 1558 ]


Вложение:
Untitled-1.png
Untitled-1.png [ 36.01 Кб | Просмотров: 1558 ]


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 06 дек 2023, 15:02 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2656
Eddy_Em писал(а):
Тогда вопрос: на кой черт себя насиловать и из этого говнища пытаться конфетку сделать?

Потому что мышки захотели стать ёжиками


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 06 дек 2023, 17:54 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
x893 Да я уже запутался. Я нашёл в сети столько мануалов и там одно другому противоречит!

Короче понятно, VSPI это SPI2, который привязан к пинам 10-13. HSPI вешается на любые выводы.

Но вот вопрос с 45 пином остался. Ну и что, что на нём падает напряжение при сбросе.
Какое отношение это имеет к тому, что если его подцепить к D/C дисплея, то контроллер не будет входить в boot вообще?
У дисплея это вход. Так что ни хрена меняться не должно!


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 06 дек 2023, 19:51 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 8818
Никто никуда не привязан. Это вам не шит stm32.


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 08 дек 2023, 17:55 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
Дальше буду веселиться с ШИМом на этой фигне.
Надо подсветку дисплея шимить ещё.


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 08 дек 2023, 18:39 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2656
TrD писал(а):
Дальше буду веселиться с ШИМом на этой фигне.
Надо подсветку дисплея шимить ещё.

Веселья на пару минут


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 08 дек 2023, 20:07 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
x893 Наверное, сложнее правильное описание найти!
На 14 пин надо закинуть ШИМ.

На ESP32 была таблица какой канал для какого вывода был. Вроде ШИМ можно только на те выводы, на котором он поддерживается.
А что у S3? тоже так же или твори что хочешь?

PS. И вот опять что нашёл:
PWM channel configuration
For generic boards, two PWM devices are configured.
These devices contain all GPIOs that are not defined as I2C, SPI or UART for this board. Generally, all outputs pins could be used as PWM channels.
Note: As long as the according PWM device is not initialized with the pwm_init, the GPIOs declared for this device can be used for other purposes.

#define PWM0_GPIOS { GPIO14, GPIO17, GPIO18, GPIO21 }
Declaration of the channels for device PWM_DEV(0), at maximum PWM_CHANNEL_NUM_DEV_MAX. More...

#define PWM1_GPIOS { GPIO15, GPIO16 }
Declaration of the channels for device PWM_DEV(1), at maximum PWM_CHANNEL_NUM_DEV_MAX. More...


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 08 дек 2023, 21:23 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
const int ledPin = 14; // 14 corresponds to GPIO14


ledcSetup(0, 5000, 7);
// attach the channel to the GPIO to be controlled
//ledcAttachPin(ledPin, PWM channel);
ledcAttachPin(ledPin, 0);
ledcWrite(0, 127); //set PWM 0-127 (7-bit)

void loop()
{
for(int dutyCycle = 127; dutyCycle > 0; dutyCycle--){
ledcWrite(0, dutyCycle);
delay(25);
}

for(int dutyCycle = 0; dutyCycle <= 127; dutyCycle++){
ledcWrite(0, dutyCycle);
delay(25);
}
}

Так работает.
Блин, как же не приятно с arduino ide иметь дело!


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 08 дек 2023, 21:49 
Старожил
Аватара пользователя

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 6737
Откуда: КЧР, поселок Нижний Архыз
"delay" внутри суперлупа? Да уж, быдлокод знатный! Конечные автоматы не судьба использовать?

_________________
Адрес: спортлото


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 08 дек 2023, 23:00 
Старожил

Зарегистрирован: 02 мар 2017, 20:10
Сообщения: 520
Eddy_Em знал что так начнёте писать, а если бы не начали, то было бы удивительно!
Я же выше написал, что это ТЕСТ ESP32S3 и дисплея.
Нету там ни чего! СОВСЕМ НИ ЧЕГО!
Из полезностей, а в прочем- вот код:
Show


И это ВСЁ!
Я не использую delay в коде рабочем, но зачем тут циклы устраивать, если код ни чего не делает, кроме как выводит выводит инфо о контроллере, а потом тест на работу памяти PSRAM, если она работает, то картинка 320x240 покажется на дисплее, если нет, то нет и далее делает шим на 14 ноге моргая дисплеем.
Ни какой другой смысловой нагрузки код не несёт!


Вернуться к началу
 Профиль 
 
 Заголовок сообщения: Re: ESP32S3 SPI
СообщениеДобавлено: 08 дек 2023, 23:09 
Старожил
Аватара пользователя

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 6737
Откуда: КЧР, поселок Нижний Архыз
Мамма миа! Зачем писать в абдурино-стиле? Почему нельзя элементарно в цикле перебирать массив? Ужас!!!
Например, вот это:
Код:
  tft.setCursor(0, 0);
  tft.print("ChipRevision: ");
  tft.print(ESP.getChipRevision());
  tft.setCursor(0, 20);
  tft.print("FlashChipSize: ");
  tft.print(ESP.getFlashChipSize()/1024); 
...

заменяется на
Код:
for(int i = 0; i < xxxx; ++i){
  tft.setCursor(0, YY[i]);
  tft.print(str[i]);
  tft.print(fn[i]);
}


Обычно китайцы этим страдают. Надергают 100500 одинаковых копипаст и радуются: строчек больше - зарплата выше…

_________________
Адрес: спортлото


Вернуться к началу
 Профиль 
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему [ Сообщений: 30 ] На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered byphpBB© 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB

Download Tapatalk Notifier for Chrome to keep notified of new Private Messages from this forum.