stm32除錯記錄一

2022-04-04 08:27:55 字數 2219 閱讀 9639

..\..\system\usart\usart.c(1): error:  #5: cannot open source input file "sys.h": no such file or directory

#include "..\sys\sys.h"這樣就可以找到路徑了

再次編譯出現了問題

..\..\system\usart\..\sys\sys.h(3): error:  #5: cannot open source input file "stm32f10x_lib.h": no such file or directory沒有stm32f10x_lib.h這個庫函式

怎麼辦???

上網查了很多資料,都說新版本的 mdk 把 stm32f10x_lib.h 這個檔案已經變成

stm32f10x.h 了。而且都是說把 stm32f10x.h 改成 stm32f10x_lib.h,但是怎麼改卻

沒說明。首先找到安裝路徑下的這個資料夾

注意一定要是 backup.001 裡面的 arm 中才找到這個,只有這個 stm32f10x 的

資料夾裡才有"stm32f10x_lib.h",其他地方時沒有的。然後把 stm32f10x 這個文

件整個複製下來。貼上到工程檔案中,路徑隨便,但一定要和該工程的其他東西

放在同乙個資料夾中

這個只要把..\..\用好就行了 和linux下面的cd .. /../..

目錄結構如此可以解決這個問題

可是我的電腦裡面就是沒有這個標頭檔案,我的編譯再次出現了困難?????

後來在網上看到乙個帖子發現這是舊版的才有新版的只需要使用stm32f10x.h就可以了

後面又出現了乙個..\system\sys\sys.c(76): error:  #136: struct "" has no field "ipr"

..\hardware\exti\exti.c(65): error:  #20: identifier "exti15_10_irqn" is undefined

直接用40代替

..\hardware\exti\exti.c - 0 error(s), 0 warning(s).

..\hardware\timer\timer.c(42): error:  #20: identifier "tim4_irqn" is undefined

直接用30代替

..\hardware\timer\timer.c(85): error:  #20: identifier "tim3_irqn" is undefined

直接用29代替

..\hardware\timer\timer.c - 0 error(s), 0 warning(s).

//配置向量表

#ifdef  vect_tab_ram

my_nvic_setvectortable(nvic_vecttab_ram, 0x0);

#else  

my_nvic_setvectortable(nvic_vecttab_flash, 0x0);

#endif

..\system\sys\sys.c(127): error:  #20: identifier "nvic_vecttab_flash" is undefined

用8位的微控制器,一般c語言中可以對某暫存器或輸出埠進行移位操作和位取反操作,可以使led燈流水或閃爍.

我想問下:

1. stm32對gpio操作一般用庫函式,那麼怎麼使某一位埠取反?怎麼使某口移位流水? 請寫個示範**.

2.我見乙個例子中對pc6埠某個led閃爍**如下,不知是什麼意思? 是不是取反操作?為什麼要先讀出位?

gpio_writebit(gpioc, gpio_pin_6, (bitaction)(1 -gpio_readoutputdatabit(gpioc, gpio_pin_6)));

3.中斷向量表是不是都是固定如下的?還是某些情況要重設?

/* set the vector table base location at 0x20000000 */

nvic_setvectortable(nvic_vecttab_ram, 0x0);

#else /* vect_tab_flash */

/* set the vector table base location at 0x08000000 */

nvic_setvectortable(nvic_vecttab_flash, 0x0);

stm32學習記錄(一)

介紹stm32什麼的就不說了,直接從點亮led開始吧 在進行程式設計前,需要知道 1.如果要使用stm32的io口,需要先對io口進行初始化。這個初始化函式包括以下幾個部分 gpio inittypedef gpio initstructure 定義乙個結構體,必須放在開頭 rcc ahb1peri...

stm32硬體除錯

stm32的基本系統主要涉及下面幾個部分 一 電源 1 無論是否使用模擬部分和ad部分,mcu外圍出去vcc和gnd,vdda vssa vref 如果 封裝有該引腳 都必需要連線,不可懸空 2 對於每組對應的vdd和gnd都應至少放置乙個104的陶瓷電容用於濾波,並接該 電容應放置盡量靠近mcu ...

stm32學習記錄

讓自己別忘了大學裡學的東西,那麼就把它記錄下下來,效率會比忘記然後重新再去找資料再重頭學高的多 先講講定時器的基礎定時功能 1.先做乙個形象的比喻 手錶 秒鐘 時鐘 定時器 定時器內部時鐘 定時器輸出時鐘 它們倆基本相同,不同的是,對於手錶是秒鐘和分鐘之間的進製是固定為60,而對於定時器,定時器內部...