stm32f103的執行錯誤和keil5的一些變動

2021-07-27 14:18:13 字數 636 閱讀 6656

除錯stm32f103zet6過程中,自己寫了下systick滴答配置和中斷函式,編譯完無錯誤。迫不及待的將程式下到板子中,執行燈無閃爍。仔細查了下程式,管腳配置、外設時鐘開啟、中斷配置未發現問題。使用開發器**後發現,程式停留在如下系統檔案,紅色位置。

systick_handler proc

export  systick_handler            [weak]

b       .

endp

從網上查了原因,說是有中斷未配置或中斷配置有誤。仔細看了一遍,才發現自己寫的函式名如下:

void systick_handler(void) ----------和系統檔案中定義名不一樣,乙個大寫的t,而我寫的是小寫的t。

立即改掉,執行燈倒是開始閃,但和預想中的頻率差太多,考慮是系統時鐘配置和頻率選擇有問題。仔細看了看,在system_stm32f10x.c檔案中有個系統時鐘的配置函式

void systeminit (void),立刻將自己寫的替換掉,正常了。先記下來,查查是什麼原因。

另外,在keil5以上版本中,不需要在options for target "***"中的c/c++選項卡中,在define:中再填入stm32f10x_hd,因為keil5以上版本會根據你選擇的cpu型號自動給你定義好。

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...