Tất cả tags
#

Tag

#embedded

Có 24 nội dung trong tag này.

Nội dung liên quan

#embedded

Ngôn ngữ
Coming soon
Note STM32

What Is a USB Device Class and a Composite Device?

Common USB classes (HID, CDC, MSC, Vendor Specific), and how a composite device combines several classes on a single physical device.

#usb #device-class #hid +5
Ghi chú STM32

USB Device Class và Composite Device là gì?

Các USB class thông dụng (HID, CDC, MSC, Vendor Specific) và composite device kết hợp nhiều class trên một thiết bị như thế nào.

#usb #device-class #hid +5
Note STM32

What Is STM32 GPIO Register Access?

Accessing GPIO through BSRR and IDR instead of HAL_GPIO_WritePin/ReadPin: why, when it's worth it, and how it applies to row-by-row matrix scanning on STM32.

#stm32 #gpio #register +5
Ghi chú STM32

STM32 GPIO Register Access là gì?

Truy cập GPIO bằng BSRR và IDR thay vì HAL_GPIO_WritePin/ReadPin: tại sao, khi nào phù hợp, và cách áp dụng cho matrix scan row-by-row trên STM32.

#stm32 #gpio #register +5
Sắp ra mắt
Ghi chú STM32

Clock Configuration for USB FS là gì?

USB Full-speed cần clock 48 MHz chính xác. Các nguồn clock khả dụng trên STM32, trade-off giữa HSI48+CRS và HSE+PLL, và checklist kiểm tra trước khi debug enumeration.

#stm32 #usb #clock +5
Sắp ra mắt
Ghi chú Keyboard

Event-driven Keyboard Firmware là gì?

Pattern tách scan/debounce khỏi USB send bằng event queue: key event producer, consumer và cách giữ firmware responsive khi USB busy hoặc host không poll kịp.

#keyboard #firmware #event-driven +5
Sắp ra mắt
Ghi chú Keyboard

Key Mapping trong keyboard firmware là gì?

Ánh xạ vị trí vật lý (row, col) sang HID Usage ID: keymap array, lookup table, layer và cách tổ chức mapping để dễ thay đổi mà không sửa scan logic.

#keyboard #keymap #hid +4
Sắp ra mắt
Ghi chú Keyboard

Matrix Scanning Algorithm là gì?

Chi tiết thuật toán quét ma trận phím: scan toàn bộ vs scan thay đổi, xử lý multi-key, rollover detection và tối ưu timing giữa các lần quét.

#keyboard #matrix #scanning +4
Coming soon
Note Keyboard

What Is a Debounce Algorithm?

Why mechanical keys bounce, and how to handle it with counter-based debounce, timestamp debounce, scan buffers, and a state machine in firmware.

#keyboard #debounce #gpio +4
Coming soon
Note USB

What Is the USB Enumeration Process?

A sequence of requests over Endpoint 0, from device plug-in to the host assigning an address and picking a configuration - 7 steps, where things fail, and how to debug bottom-up.

#usb #enumeration #stm32 +4
Ghi chú Keyboard

Debounce Algorithm là gì?

Tại sao phím cơ học bounce và cách xử lý bằng counter-based debounce, timestamp debounce, scan buffer và state machine trong firmware.

#keyboard #debounce #gpio +4
Sắp ra mắt
Ghi chú Keyboard

Keyboard Matrix Fundamentals là gì?

Tại sao bàn phím dùng matrix thay vì một dây mỗi phím. Cách quét hàng/cột, GPIO setup, active-low convention, ghosting và khi nào thực sự cần diode.

#keyboard #matrix #gpio +5
Sắp ra mắt
Ghi chú STM32

STM32 HAL USB Device Architecture là gì?

Kiến trúc STM32 USB Device Library: PCD driver, USBD core, class layer và callback flow. Firmware cần implement gì, middleware xử lý gì và cách debug đúng tầng.

#stm32 #usb #hal +5
Ghi chú USB

USB Enumeration Process là gì?

Chuỗi hỏi–đáp qua Endpoint 0 từ lúc device cắm vào đến khi host giao address và chọn configuration. 7 bước, điểm nào dễ fail và cách debug từ dưới lên.

#usb #enumeration #stm32 +4
Sắp ra mắt
Ghi chú STM32 Debug

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.

#stm32 #embedded #dma +6
Sắp ra mắt
Ghi chú STM32 Debug

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.

#stm32 #uart #dma +6
Sắp ra mắt
Ghi chú STM32 Debug

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.

#stm32 #embedded #logging +6
Sắp ra mắt
Ghi chú STM32 Debug

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.

#stm32 #uart #baudrate +6
Sắp ra mắt
Ghi chú STM32

Flash, EEPROM và RAM trong STM32 khác nhau thế nào?

Giải thích Flash, EEPROM và RAM trong STM32: vùng nhớ, dữ liệu mất hay giữ sau reset, EEPROM emulation, linker script và debug lỗi lưu cấu hình.

#stm32 #embedded #flash +5
Sắp ra mắt
Ghi chú STM32

Flash Operations trong STM32 là gì?

Giải thích thao tác Flash trong STM32: unlock, erase, program, verify, lock, page/sector, alignment, HAL error và debug ghi Flash an toàn.

#stm32 #embedded #flash +6
Sắp ra mắt
Ghi chú STM32

Linker Script STM32 là gì?

Giải thích linker script STM32: memory regions, sections .text/.data/.bss, stack heap, Flash data area, bootloader offset và debug map file.

#stm32 #embedded #linker-script +6
Sắp ra mắt
Ghi chú STM32

Reset Vector và Bootloader trong STM32 là gì?

Quick note ngắn gọn về Reset Vector, vector table, Initial MSP, Reset_Handler, VTOR và flow bootloader jump vào application trên STM32/Cortex-M.

#stm32 #embedded #reset-vector +6
Sắp ra mắt
Ghi chú STM32

Startup Code STM32 là gì?

Giải thích Startup Code trong STM32: vector table, Reset_Handler, copy .data, clear .bss, SystemInit, main và debug lỗi trước main.

#stm32 #embedded #startup-code +5
Sắp ra mắt
Ghi chú STM32

STM32G0 Dual Bank là gì?

Giải thích STM32G0 Dual Bank Flash: bank layout, page erase, read-while-write, boot bank, firmware update, EEPROM emulation và debug sai bank.

#stm32 #stm32g0 #embedded +5