# STM32CubeMX Note [TOC] # Pinout & Configuration - 更改特定腳位功能:對著腳位按右鍵。 ![](https://hackmd.io/_uploads/ByrSUlqbT.png) ## Debug - **Debug**: Serial Wire (STLINK) - **Timebase Source**: SysTick (保持預設) ![](https://hackmd.io/_uploads/S1qVDx9-p.png) - 同時腳位也會跟隨Debug的調整,而自動指令部分腳位的功能。 ![](https://hackmd.io/_uploads/HkBKPl5bp.png) ## GPIO - `GPIO_Output`:輸出腳位。 - `GPIO_Input`:輸入腳位。 - `GPIO_EXTIXX`:外部中斷腳位。 ## 外部振盪器 - 剛配置好的腳位會呈現背景黃色方塊,提示需要開啟功能,如下: ![](https://hackmd.io/_uploads/Bk9iIxq-a.png) - 到`System Core` -> `RCC`,選擇對應選項。 - 分為低速(LSE,32.768K)與高速(HSE,8M Up)。 - 有掛載外部振盪器,需切換為`Crystal/Creamic Resonator`。 - 沒掛載外部振盪器,需切換為`BYPASS Clock Source`。 ![](https://hackmd.io/_uploads/rJcjEl9Zp.png) # Clock Configuration - LSE: 低頻振盪器,通常都是32.768K。 - HSE: 高頻振盪器,根據PCB上的硬體做修改。 ## F407 ![](https://hackmd.io/_uploads/B1Pjog5Zp.png) # Project Manager - 編譯時在`Project Manager`選擇如下: 1. 工具/IDE選擇Makefile。 2. 只複製會用到的Library (節省程式碼大小)。 3. 個別產生初始化硬體的.c/.h檔案 (不會整個都擠在`main.c`中)。 4. 其他保持預設 ![](https://hackmd.io/_uploads/Hy2sRxJ-a.png) ![](https://hackmd.io/_uploads/ByyoAgyWa.png)