正點原子STM32F103精英版學習筆記(二)

2021-10-07 12:11:32 字數 824 閱讀 6452

st-link 和stm32f103都支援jtag 和swd,用jtag除錯時占用的io線比較多,swd除錯時占用的比較少,只需要2根即可。而且相對來說,大資料下swd工作方式引導程式失敗的可能性很小。

注:jtag 和swd是**器除錯armcpu的兩種工作方式。

可參考:

jtag jlink swd 區別

當使用某個 io 口用作其他用處的時候,先看看開發板的原理圖,該 io 口是否有連線在開發板的某個外設上,如果有,該外設的這個訊號是否會對你的使用造成干擾,先確定無干擾,再使用這個 io。比如 pb8 就不怎麼適合再用做其他輸出,因為他接了蜂鳴器,如果你輸出高電平就會聽到蜂鳴器的叫聲了。

韌體庫是函式的集合,韌體庫函式的作用是:向下負責和暫存器直接打交道,向上提供使用者函式呼叫的介面(api)。51可以直接對暫存器操作,但是stm32的暫存器太多了,所以意法公司將暫存器底層操作都封起來,提供了乙個api介面給使用者。

arm公司是乙個晶元標準公司,負責晶元核心的架構設計,其他的晶元公司根據核心架構設計mcu裡面的儲存器,時鐘等,arm公司為了讓不同公司生產的cortex晶元相互相容,制定了cmsis標準。

什麼是架構

cmsis 分為 3 個基本功能層:

中介軟體訪問層:定義訪問中介軟體的通用 api,也是 arm 公司提供。

外設訪問層:定義硬體暫存器的位址以及外設的訪問函式。

從圖中可以看出,cmsis 層在整個系統中是處於中間層,向下負責與核心和各個外設直接打交道,向上提供實時作業系統使用者程式呼叫的函式介面。

stm32f103外部中斷

void extix init void 外部中斷0服務程式 void exti9 5 irqhandler void 這是簡單的外部中斷的配置,pc7作為中斷輸入 上面補充io口的初始化 gpio initstructure.gpio mode gpio mode ipu pc6配置為快充指示 1...

STM32F103啟動檔案

目錄 一 概述 二 彙編指令 2.1 equ 2.2 area 2.3 space 2.4 preserve8 2.5 thumb 2.6 export 2.7 dcd 2.8 proc 2.9 ldr 2.10 blx 2.11 bx 2.12 temport 2.13 b 2.14 if,els...

關於STM32F103精確延時

為了相容freertos,所以將延時函式統一規範,後續使用方便移植。此延時針對無晶振,示例為系統倍頻64mhz,型號 stm32f103c8t6。新建system資料夾,新增兩個檔案,delay.c和delay.h 以下為delay.c內容 其中系統已倍頻為64m include stm32f10x...