mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-07-15 08:32:42 +08:00
bugfix(uart_interrupt_occupy):disable intr that you are not using
This commit is contained in:
@ -419,6 +419,11 @@ esp_err_t uart_isr_register(uart_port_t uart_num, void (*fn)(void *), void *arg)
|
|||||||
{
|
{
|
||||||
UART_CHECK((uart_num < UART_NUM_MAX), "uart_num error", ESP_ERR_INVALID_ARG);
|
UART_CHECK((uart_num < UART_NUM_MAX), "uart_num error", ESP_ERR_INVALID_ARG);
|
||||||
|
|
||||||
|
for (int num = 0; num < UART_NUM_MAX; num++) {
|
||||||
|
if (p_uart_obj[num] == NULL) {
|
||||||
|
uart_disable_intr_mask(num, UART_INTR_MASK);
|
||||||
|
}
|
||||||
|
}
|
||||||
UART_ENTER_CRITICAL();
|
UART_ENTER_CRITICAL();
|
||||||
_xt_isr_mask(1 << ETS_UART_INUM);
|
_xt_isr_mask(1 << ETS_UART_INUM);
|
||||||
_xt_isr_attach(ETS_UART_INUM, uart_intr_service, NULL);
|
_xt_isr_attach(ETS_UART_INUM, uart_intr_service, NULL);
|
||||||
|
Reference in New Issue
Block a user