@@ -56,9 +56,8 @@ static uart_t _uart_bus_array[3] = {
56
56
{(volatile uart_dev_t * )(DR_REG_UART2_BASE ), 2 , NULL }
57
57
};
58
58
#else
59
- static BaseType_t _pxHigherPriorityTaskWoken_ = pdFALSE ;
60
- #define UART_MUTEX_LOCK () do {} while (xSemaphoreTakeFromISR(uart->lock, &_pxHigherPriorityTaskWoken_) != pdPASS)
61
- #define UART_MUTEX_UNLOCK () xSemaphoreGiveFromISR(uart->lock, &_pxHigherPriorityTaskWoken_)
59
+ #define UART_MUTEX_LOCK () do {} while (xSemaphoreTake(uart->lock, portMAX_DELAY) != pdPASS)
60
+ #define UART_MUTEX_UNLOCK () xSemaphoreGive(uart->lock)
62
61
63
62
static uart_t _uart_bus_array [3 ] = {
64
63
{(volatile uart_dev_t * )(DR_REG_UART_BASE ), NULL , 0 , NULL },
@@ -378,10 +377,9 @@ int log_printf(const char *format, ...)
378
377
if (s_uart_debug_nr < 0 ){
379
378
return 0 ;
380
379
}
381
- char loc_buf [64 ];
380
+ static char loc_buf [64 ];
382
381
char * temp = loc_buf ;
383
- int len , i ;
384
- void (* put_char )(char ) = NULL ;
382
+ int len ;
385
383
va_list arg ;
386
384
va_list copy ;
387
385
va_start (arg , format );
@@ -394,37 +392,17 @@ int log_printf(const char *format, ...)
394
392
return 0 ;
395
393
}
396
394
}
397
-
398
- switch (s_uart_debug_nr ) {
399
- case 0 :
400
- put_char = & uart0_write_char ;
401
- break ;
402
- case 1 :
403
- put_char = & uart1_write_char ;
404
- break ;
405
- case 2 :
406
- put_char = & uart2_write_char ;
407
- break ;
408
- default :
409
- return 0 ;
410
- }
411
395
vsnprintf (temp , len + 1 , format , arg );
412
396
#if !CONFIG_DISABLE_HAL_LOCKS
413
397
if (_uart_bus_array [s_uart_debug_nr ].lock ){
414
- while (xSemaphoreTakeFromISR (_uart_bus_array [s_uart_debug_nr ].lock , & _pxHigherPriorityTaskWoken_ ) != pdPASS );
415
- for (i = 0 ;i < len ;i ++ ){
416
- put_char (temp [i ]);
417
- }
418
- xSemaphoreGiveFromISR (_uart_bus_array [s_uart_debug_nr ].lock , & _pxHigherPriorityTaskWoken_ );
398
+ while (xSemaphoreTake (_uart_bus_array [s_uart_debug_nr ].lock , portMAX_DELAY ) != pdPASS );
399
+ ets_printf ("%s" , temp );
400
+ xSemaphoreGive (_uart_bus_array [s_uart_debug_nr ].lock );
419
401
} else {
420
- for (i = 0 ;i < len ;i ++ ){
421
- put_char (temp [i ]);
422
- }
402
+ ets_printf ("%s" , temp );
423
403
}
424
404
#else
425
- for (i = 0 ;i < len ;i ++ ){
426
- put_char (temp [i ]);
427
- }
405
+ ets_printf ("%s" , temp );
428
406
#endif
429
407
va_end (arg );
430
408
if (len > 64 ){
0 commit comments