ESP32 UART event queue

Ladislav Vaiz spam na nagano.cz
Sobota Červenec 1 18:52:27 CEST 2023


On 01.07.2023 17:54, Petr Labaj wrote:
> V Unixu se tak musí řešit, protože používáme obsluhu zařízení na 
> úrovni systému.
> Tedy nemáme přístup k HW, ale jen k volání nějakých systémových služeb.
>
> Programování ESP se dělá podobně?
> Ptám se asi blbě, ale nikdy jsem na žádném ESP nic neprogramoval.
>
> My, co programujeme skutečná MCU, tak si prostě v obsluze přerušení od 
> UARTu
> obsloužíme Tx i Rx frontu, obsluhu chyb a kdoví co ještě.
> U ESP to takto nejde? Tam není obsluha IRQ pod kontrolou programátora?


Mohu mluvit jen za programování pomocí ESP-IDF, což je framework, který 
poskytuje určitou abstrakci. Člověk se při konfiguraci setká s pojmy 
jako IRQ nebo DMA, ale stačí mu používat vysokoúrovňové funkce. Že by 
někdo psal "void interrupt" nebo ISR(blabla), jsem nikde neviděl, ale 
nevylučuju, že i to nějak jde. Nepotřeboval jsem to.

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/uart.html


Obecně je ESP-IDF dost svázaný s RTOS a jeho tasky, tak optimální bude 
použít jeho prostředky. Například přes jednu frontu: 
https://www.freertos.org/FreeRTOS_Support_Forum_Archive/August_2011/freertos_How_to_wait_on_multiple_queue_4674588.html


Pak je tam ještě VFS systém 
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/vfs.html#non-socket-vfs-drivers 
.

Ten slučuje objekty různých typů, aby se s nimi pracovalo shodně.  Bude 
tam nějaká režije a pravděpodobnost chyb, ale vše má své plusy a mínusy.


L.





Další informace o konferenci Hw-list