Nội dung liên quan
STM32 Debug
What Is a Ring Buffer in Embedded C?
Ring buffers in embedded C, explained: head/tail, full/empty, ISR producers, task consumers, DMA circular buffers, overflow, and debugging dropped bytes.
DMA Normal vs Circular Mode trong STM32 là gì?
Giải thích DMA Normal và Circular Mode trong STM32: luồng truyền, buffer, half/full callback, UART/ADC, ring buffer và debug mất dữ liệu.
FreeRTOS ISR Mutex là gì?
Giải thích vì sao không dùng mutex trong ISR với FreeRTOS: interrupt context, FromISR API, queue/semaphore, priority và debug deadlock.
GCC Dead Code Elimination là gì?
Giải thích GCC Dead Code Elimination trong embedded C: tối ưu loại code, linker garbage collection, section, KEEP, volatile và debug hàm bị mất.
HAL_BUSY UART DMA là gì?
Giải thích HAL_BUSY khi dùng UART DMA trong STM32: HAL state, DMA callback, gState/RxState, race condition, timeout và debug không gửi được.
Producer Consumer Logging trong STM32 là gì?
Giải thích Producer Consumer Logging trong STM32: ISR/task producer, log queue, UART DMA consumer, ring buffer, drop policy và debug mất log.
Production Debug Log Macro trong STM32 là gì?
Giải thích Production Debug Log Macro trong STM32: log level, compile-time filter, module tag, zero-cost log, ISR-safe và debug release build.
STM32 printf _write redirect là gì?
Giải thích redirect printf qua _write trong STM32: syscall, UART blocking, DMA/ring buffer, reentrancy, FreeRTOS và debug log bị treo.
UART Baudrate Time Calculation là gì?
Giải thích cách tính thời gian truyền UART từ baudrate: bit time, frame format, start/stop/parity, throughput, timeout và debug mất log.
UART Transmit Blocking là gì?
Giải thích UART Transmit Blocking trong STM32: HAL_UART_Transmit, baudrate timing, timeout, ISR/RTOS impact, printf blocking và debug treo log.
Ring Buffer trong Embedded C là gì?
Giải thích Ring Buffer trong Embedded C: head/tail, full/empty, ISR producer, task consumer, DMA circular, overflow và debug mất byte.