Nội dung liên quan
#UART
USB CDC ACM là gì?
CDC ACM trên STM32: tại sao giống UART về trải nghiệm nhưng khác về implementation, SET_CONTROL_LINE_STATE, DTR và điểm dễ nhầm khi dùng với terminal.
STM32 Dual-Slot UART OTA Bootloader
Case study xây dựng bootloader A/B cho STM32G0B1RE, hỗ trợ cập nhật firmware qua UART, xác thực packet CRC32, metadata pending/confirmed và rollback.
STM32 Dual-Slot UART Bootloader: BIN Update, VTOR và Safe Rollback
Thiết kế bootloader STM32G0B1RE dual-slot, update qua UART, validate vector table, CRC32 từng packet, metadata pending/confirmed và rollback tự động.
STM32 Non-Blocking UART Logger
Project thực nghiệm UART logger non-blocking trên STM32G0B1RE, so sánh blocking transmit với UART DMA + Ring Buffer và drop counter.
Non-Blocking UART Logger on STM32 with DMA + Ring Buffer
Designing a non-blocking UART debug logger for STM32: avoiding printf blocking, handling lost logs with DMA, and using a ring buffer with DMA callbacks.
UART non-blocking logger trên STM32 với DMA + Ring Buffer
Thiết kế debug UART non-blocking cho STM32: tránh printf blocking, xử lý mất log với DMA, dùng ring buffer và DMA callback.
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.
DBG2 trong ACPI là gì?
Giải thích DBG2 trong ACPI: Debug Port Table 2, mô tả debug devices, UART/USB debug, address, namespace path, SPCR khác gì và debug port không chạy.
SPCR trong ACPI là gì?
Giải thích SPCR trong ACPI: Serial Port Console Redirection table, UART debug console, address, baud rate, interrupt, early console và debug log không ra.
Serial Log là gì?
Giải thích Serial Log trong BIOS/UEFI: UART, DEBUG log, baud rate, early serial, PEI/DXE/BDS/TSL log, capture log và debug boot fail.
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.
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.