kopia lustrzana https://github.com/espressif/esp-idf
Merge branch 'bugfix/2nd_bootloader_uart1_baudrate_issues_v4.4' into 'release/v4.4'
esp_rom: fix 2nd bootloader custom uart1 baudrate issue (backport to v4.4) See merge request espressif/esp-idf!20654pull/10244/head
commit
0ba41b598d
|
@ -17,7 +17,6 @@
|
||||||
#include "esp_attr.h"
|
#include "esp_attr.h"
|
||||||
#include "sdkconfig.h"
|
#include "sdkconfig.h"
|
||||||
#include "hal/uart_ll.h"
|
#include "hal/uart_ll.h"
|
||||||
#include "soc/uart_struct.h"
|
|
||||||
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32
|
#if CONFIG_IDF_TARGET_ESP32
|
||||||
/**
|
/**
|
||||||
|
@ -25,24 +24,12 @@
|
||||||
*/
|
*/
|
||||||
IRAM_ATTR void esp_rom_uart_tx_wait_idle(uint8_t uart_no)
|
IRAM_ATTR void esp_rom_uart_tx_wait_idle(uint8_t uart_no)
|
||||||
{
|
{
|
||||||
uart_dev_t *device = NULL;
|
while (!uart_ll_is_tx_idle(UART_LL_GET_HW(uart_no))) {};
|
||||||
switch (uart_no) {
|
|
||||||
case 0:
|
|
||||||
device = &UART0;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
device = &UART1;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
device = &UART2;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
while (!uart_ll_is_tx_idle(device));
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
IRAM_ATTR void esp_rom_uart_set_clock_baudrate(uint8_t uart_no, uint32_t clock_hz, uint32_t baud_rate)
|
IRAM_ATTR void esp_rom_uart_set_clock_baudrate(uint8_t uart_no, uint32_t clock_hz, uint32_t baud_rate)
|
||||||
{
|
{
|
||||||
extern void uart_div_modify(uint8_t uart_no, uint32_t DivLatchValue);
|
(void)clock_hz;
|
||||||
uart_div_modify(uart_no, (clock_hz << 4) / baud_rate);
|
uart_ll_set_baudrate(UART_LL_GET_HW(uart_no), baud_rate);
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue