Level 721 bài
Embedded C
Nhánh chuyên sâu cho STM32, ESP32 và các vi điều khiển.
Chương 47. Embedded C
Kiến trúc MCU, thanh ghi, GPIO, UART, SPI, I2C, ADC, PWM, DMA.
- 47.1Kiến trúc MCUBên trong một vi điều khiển, và tám khác biệt so với lập trình trên máy tính.24 phút
- 47.2Bản đồ bộ nhớVào ra ánh xạ bộ nhớ, bốn vùng địa chỉ, và vì sao đọc một địa chỉ lại điều khiển được đèn.24 phút
- 47.3Thanh ghi và volatileHai cách khai báo thanh ghi, vì sao volatile là bắt buộc, và điều nó không bảo đảm.28 phút
- 47.4GPIONăm bước cấu hình một chân, và vì sao BSRR an toàn hơn ODR.28 phút
- 47.5Chống rung nút bấmVì sao một lần nhấn cho hàng chục xung, và ba cách lọc chúng.22 phút
- 47.6UARTKhung truyền, tính tốc độ baud, và bộ đệm vòng nhận bằng ngắt.30 phút
- 47.7SPI, I2C, ADC, PWM và DMASáu ngoại vi còn lại, chọn cái nào cho việc gì, và số học không dùng số thực.30 phút
Chương 48. Register Programming
Đọc datasheet, mẫu thao tác thanh ghi, trường bit.
- 48.1Mẫu đọc sửa ghiBa cách viết sai kinh điển, và mẫu ba bước xóa rồi đặt rồi ghi.26 phút
- 48.2Macro và hàm nội tuyến cho thanh ghiĐặt tên cho từng bit, và vì sao hàm nội tuyến tốt hơn macro.24 phút
- 48.3Trường bit cho thanh ghiCú pháp gọn, và năm điều chuẩn C không bảo đảm khiến nó nguy hiểm.24 phút
- 48.4Đọc datasheetNăm loại tài liệu, quy trình tám bước cấu hình một ngoại vi, và errata.26 phút
Chương 49. Interrupt
Bảng vector, NVIC, quy tắc viết ISR, vùng tới hạn.
- 49.1Cơ chế ngắtSáu bước phần cứng làm khi ngắt xảy ra, và độ trễ thực tế.26 phút
- 49.2Bảng vector và NVICBảng vector nằm ở đâu, tên hàm phải khớp thế nào, và độ ưu tiên lồng nhau.26 phút
- 49.3Bảy quy tắc viết ISRXóa cờ, làm tối thiểu, và mẫu ISR đặt cờ còn vòng lặp chính xử lý.28 phút
- 49.4Vùng tới hạnVì sao đọc một biến 32 bit cũng có thể sai, và cách vào ra an toàn khi lồng nhau.26 phút
- 49.5volatile và atomicvolatile giải quyết được gì, không giải quyết được gì, và khi nào cần atomic.26 phút
Chương 50. Embedded Project
Từ điều khiển LED tới mini RTOS, kèm chuỗi công cụ.
- 50.1Bộ điều khiển LED và máy trạng tháiVòng lặp chính không chặn, tick một mili giây, và máy trạng thái điều khiển chế độ.28 phút
- 50.2Vỏ lệnh UARTBộ đệm vòng, tách dòng lệnh, bảng lệnh bằng con trỏ hàm, và xử lý phím xóa.30 phút
- 50.3Đo nhiệt độ và số học dấu chấm cố địnhĐọc ADC, đổi sang đơn vị vật lý bằng số nguyên, và lọc nhiễu.28 phút
- 50.4Chuỗi công cụ, nạp và gỡ lỗiBiên dịch chéo, tệp linker, phân đoạn, và ba cách gỡ lỗi khi không có printf.28 phút
- 50.5Mini RTOSChuyển ngữ cảnh bằng PendSV, bộ lập lịch, và delay không chặn.32 phút