--- tags: [source-summary] type: source source: "STM32 Lower Part Code Accuracy Audit: Notes 13-20" author: "Code Audit" date: 2026-07-16 created: 2026-07-16 --- # STM32 Lower Part Notes 13-20: Code Accuracy Audit Report ## Summary Comprehensive audit comparing raw Joplin notes for STM32 lower-part topics (13-20) against actual source files at `F:\Baidu\尚硅谷\尚硅谷嵌入式技术STM32单片机\下部-高级篇\3-代码\stm32\`. ## Overall Findings | Note | Topic | Accuracy | Issues | |---|---|---|---| | [[Note 13 CAN]] | CAN | 95% | 1 critical path error | | [[Note 14 Ethernet]] | Ethernet | 95% | 1 critical path error | | [[Note 15 WiFi]] | WiFi | 90% | 1 ambiguity | | [[Note 16 BLE]] | BLE | 99% | None significant | | [[Note 17 LoRa]] | LoRa | 98% | None significant | | [[Note 18 Power]] | Power | 95% | PVD code not in projects | | [[Note 19 BKP RTC]] | BKP/RTC | 99% | None significant | | [[Note 20 Watchdog]] | Watchdog | 90% | 1 timeout calculation error | ## Critical Issues Found ### Issue 1: Double `stm32/stm32/` Path Prefix (Notes 13-14) Raw notes use paths like `stm32/stm32/01_can_test_register/...` with **duplicated `stm32/` prefix**. Correct: `01_can_test_register/...` ### Issue 2: IWDG Timeout Formula Error (Note 20) Raw note shows `Tout = 2500 × 64 × 4 / 40000 = 16s` — the extra ×4 is wrong. Correct: `Tout = 2500 × 64 / 40000 = 4s` ### Issue 3: Project Ambiguity (Note 15) TCP server functionality is in project **11** (`11_wifi_tcp_server_hal`), not project **10** (`10_wifi_test_hal`, which only sends AT+GMR). ### Issue 4: PVD Code Not in Projects (Note 18) PVD configuration described in note does not exist in any of the 6 power project main.c files (15-20). ## File Verification | Critical File | Lines | Status | |---|---|---| | `01_can_test_register/Hardware/CAN/can.c` | 200 | ✅ All register ops match | | `01_can_test_register/Hardware/CAN/can.h` | 30 | ✅ RxMsg struct matches | | `02_can_test_hal/Core/Src/can.c` | 195 | ✅ HAL init/filter/send/recv match | | `05_ethernet_test_register/Hardware/SPI/spi.c` | 93 | ✅ SPI2 config matches | | `05_ethernet_test_register/Interface/Ethernet/eth.c` | 85 | ✅ W5500 init matches | | `10_wifi_test_hal/Interface/ESP32/esp32.c` | 52 | ✅ AT cmd driver matches | | `12_ble_server_hal/App/BLE/ble.c` | 127 | ✅ All AT sequences match | | `13_lora_node_hal/Interface/LoRa/lora.c` | 394 | ✅ LLCC68 driver matches | | `15_lowpower_sleep_register/User/main.c` | 49 | ✅ Sleep mode code matches | | `25_rtc_calendar_register/Hardware/RTC/rtc.c` | 139 | ✅ RTC register ops match | | `27_iwdg_test_register/Hardware/IWDG/iwdg.c` | 33 | ✅ IWDG register ops match | ## Wiki Notes Created - [[Note 13 CAN]] - [[Note 14 Ethernet]] - [[Note 15 WiFi]] - [[Note 16 BLE]] - [[Note 17 LoRa]] - [[Note 18 Power]] - [[Note 19 BKP RTC]] - [[Note 20 Watchdog]]