(Solved) RMT driver for software UART with 22 bit data possible?
Posted: Wed Nov 27, 2024 6:05 am
I am writing driver for custom UART data.
The frame of the data is 22 bit long for a byte, the speed of it is 19200 baud.
I try this code: https://github.com/naffej/esp32-rmt-uart, original it is for standard UART with no parity bit.
I will modified it but from the docs: https://docs.espressif.com/projects/esp ... mt-symbols RMT Symbols only can use with 15 bit data.
So it is possible to make it work with 22 bit data. I have no experience with RMT, something like use 2 symbols to send 1 byte of data. I wonder the same with receive the data.
I try to modified code above but the RX seem not OK, it is not receiver origin data and always show warning:
```
E rmt(legacy): RMT RX BUFFER FULL
```
I have successful write the driver using GPT timer (bit-bang) but it is not stable, data missing and error frequently, that why I want to try new solution.
The frame of the data is 22 bit long for a byte, the speed of it is 19200 baud.
I try this code: https://github.com/naffej/esp32-rmt-uart, original it is for standard UART with no parity bit.
I will modified it but from the docs: https://docs.espressif.com/projects/esp ... mt-symbols RMT Symbols only can use with 15 bit data.
So it is possible to make it work with 22 bit data. I have no experience with RMT, something like use 2 symbols to send 1 byte of data. I wonder the same with receive the data.
I try to modified code above but the RX seem not OK, it is not receiver origin data and always show warning:
```
E rmt(legacy): RMT RX BUFFER FULL
```
I have successful write the driver using GPT timer (bit-bang) but it is not stable, data missing and error frequently, that why I want to try new solution.