① stm32 的工程中加有一個STM32F10xR.LIB 的文件 在keil里也打不開 然後在文件夾里雙擊 使用dxp打開的
STM32F10xR.LIB是庫文件,假如你要使用STM32F10x的庫函數就必須加進去,如果不適用就不必加了
② stm32啟動文件在哪個目錄
startup文件夾 。s結尾匯編文件
首先啟動文件是用來初始化配置stm32 構造一個運行的環境,啟動文件和使用的具體型號有關
比如stm32f10x系列 大容量的一般用startup_stm32f10x_hd.s 中等容量的用startup_stm32f10x_md.s小容量的用startup_stm32f10x_ld.s 當然還有其他版本,可以根據具體情況選擇不同的啟動文件。
③ 請問STM32程序中的這幾個頭文件,各有什麼作用
main.c
這個不用解釋了吧
stm32f10x.h
這個是頭文件,它包含了stm32的一些常用宏,寄存器結構體的定義,高版本的庫還放著中斷向量表。
stm32f10x_rcc.c
這個文件里的固件函數包含了一些對復位、時鍾的控制的函數
stm32f10x_gpio.c這個文件里的固件函數包含了對GPIO的操作函數
stm32_eval.c
這個是st公司為其製作的評估板寫的程序
system_stm32f10x.c主要包含了對系統時鍾設置,一般是對倍頻時鍾的設置
三、GPIO_InitTypeDef
GPIO_InitStructure;
ErrorStatus
HSEStartUpStatus;
u8
count=0;
四、void
Delay(vu32
nCount);
void
Turn_On_LED(u8
LED_NUM);
希望您能幫助我,我會給您高分的。回答:
1、因為引腳本來就是16個的啊,從pin0~pin15,GPIOA口有16個腳,GPIOB也有16個,GPIOC也有16個,是這樣區分的,它是相對於一組io口的細分,ALL來代替的是選中了這一組io
2、不可以,呵呵你要選擇到底是GPIOA還是GPIOB還是...C還是...D等等的GPIO_Pin_0
3、GPIO_InitTypeDef、ErrorStatus是兩個結構體,u8是定義的unsigned
char你可以通過keil的go
to
definition選項找到它們的定義,這個是標准C的定義
嗯,是的C語言基礎不太好,以前學單片機主要是用匯編。
回答:
④ stm32sd卡如何按時間建文件夾的
用md%date%時會再新建一個以新期命名的文件夾,應該這樣md%date:~0,-3%就ok了。
⑤ 下載的STM32源碼,是個zip文件,解壓後有如圖這些文件夾,要怎麼打開 為何不是一個.c的文檔
一般都是那樣的
⑥ 如何使用STM32固件庫內的函數,特別是裡面的參數配置,舉例說明!
用keil 5構建模板工程。在keil頂部選Project->New uVision Project, 輸入工程名稱,進入device選擇界面。注意,因為keil 5變成了在線安裝Package的模式(即剛安裝好軟體並不附帶各種晶元的包,用哪個下哪個),如果你已經安裝了ST的Package,不要用那個Package!!Keil 5暫時不兼容官方庫,如果用了的話編譯會報錯。解決方案:1.使用附帶的ARM - ARM Cortex M3 2.如果還不行就下載我這個吧,下載好之後模板就全部構建完成了。
在你想要創建工程的文件夾下創建三個文件夾:Library、Project和Output,把剛才創建的工程所有文件剪切進Project文件夾。好了之後,我們需要添加庫函數文件。解壓庫函數包,把解壓目錄下Library文件夾中的CM3文件夾和STM32F10x_StdPeriph_Driver文件夾復制到工程目錄下Library文件夾下,把標准庫目錄下的:STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_Std Periph_Template文件夾下的main.c、stm32f10x_conf.h、stm32f10x_it.h、 stm32f10x_it.c 拷貝到你的工程\Project目錄下。
用keil打開你剛才創建的工程,右鍵點擊Source Group->Manage Project Item
⑦ STM32怎麼纏寫用戶程序
1、為你的bootloader程序選擇存儲器地址,因為STM32的存儲器FLASH存儲程序代碼空間為512K,需要進行劃分。2、如果需要使用JTAG在線調試,則需要配置區域:3、為您的用戶程序選擇合適的存儲空間:同時配置在線調試區域:4、bootloader程序編寫基本流程如下:)檢測有無需要更新的標志,用戶可自定義。比如說讀取flash某位置存儲的位元組作為標志位。2)如需更新,則調用STM32的FLASH程序擦鞋用戶代碼部分。3)將新的bin文件(即2進制文件直接燒寫進去,需要將keil生成的hex文件轉換為bin文件,然後存儲到外擴展的flash中)寫入到STM32自帶的FLASH中去,記住需要與上述設置的用戶代碼存儲區一致。4)更新成功後再跳轉至用戶程序。5、用戶程序需要注意一點,需要在程序運行前重新設置中斷向量表,即:NVIC_SetVectorTable()。6、用STM32自帶的燒錄軟體進行燒錄時,需要修改項目如下:1)打開安裝後目標文件中的map文件夾,我們所用的STM32為512Kflash,所以選取STM32_High-density_512K.STmap,將其分解為兩個STmap文件(此文件可用記事本 打開)STmap文件中,扇區是以每2K為一page來顯示的,所以boot區我們只需要到page7,用戶區我們需要page8到最後。修改完成後再次打開此軟體會發現多出了兩個flash選項,可以根據此處來選擇需要存儲的代碼區。然後還有一處需要修改
⑧ 最近開始學STM32,才看一點,對於一個工程相比51來說,為什麼裡面要有什麼SYSTEM,USER,CORE,OBJ文件夾
STM32功能太強了,以前在單片機中最多隻寫幾個驅動文件,ARM開發要有啟動文件,還有現在一般都用ST公司提供的庫函數,所以當然有很多東西了,如果你很熟悉ARM編程的話,這些東西也都可以自己寫,但這太耗時了,建議網路《STM32 工程建立》
⑨ stm32的用戶文件USER起什麼作用
1.解壓stm32f10x_stdperiph_lib.zip 可以從ST官方網站免費下載。
2.創建一個Demo文件夾
2.1 新建子文件夾User,用於存放用戶源程序
2.2 新建子文件夾Project,用戶KEIL工程文件
2.3 在Project下依次創建Obj和List子文件夾,存放編譯過程中產生的中間文件。
3. 復制源代碼到Demo文件夾
3.1 將stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.1.2Libraries文件整體復制到Demo文件夾下。這就是ST的標准庫,是以源代碼形式提供的。
3.2 將庫中的演示代碼IOToggle中的文件復制到Demo\User文件夾.
4. 新建一個Keil MDK工程
4.1 啟動Keil MDK,點擊菜單 New uVision Project,然後按向導進行操作
4.2 選擇CPU類型為 STM32F103ZE (這是安富萊STM32開發板採用CPU類型)
4.3 當提示是否復制啟動代碼時,請選擇否。(我們用最新的庫中的啟動代碼,不用Keil軟體自帶的舊版本啟動文件)
4.4 根據自己的需要修改Target名字。(名字任意)
4.5 為了便於代碼管理,在這個Project下創建幾個Group (名字可以任意)
User : 存放用戶自己寫的源代碼
RVMDK : 存放啟動文件(匯編文件)
StdPeriph_Driver : 存放ST標准庫文件
CMSIS : 存放CMSIS介面文件(這也是庫的一部分)
4.6 創建好Group後,我們開始依次添加文件。
5. 修改源代碼。我們將修改main.c 文件,換成我們自己跑馬燈程序。
6. 配置工程, 點擊「Options」按鈕
6.1 切換到Output。
選擇Object文件夾。
在Create Hex File 前打鉤。
6.2 切換帶Listing。
選擇Listings文件夾
6.3 切換到C/C++
添加兩個預編譯宏 STM32F10X_HD, USE_STDPERIPH_DRIVER (這是ST庫用到了這兩個宏)
修改Includes路徑
6.4 切換到Debug
選擇硬體調試器
⑩ stm32程序下面的這些文件夾分別是什麼意思
SYS一般用來存放操作系統相關
APP一般用來存放應用程序相關
BSP一般用來放啟動相關
LIB一般用來放靜態庫相關
IICLIB從名字上分析應該是I2C的靜態庫
事實上文件管理不是一成不變的,你完全可以根據自己的需要來建立文件夾,放置文件。但是建議和晶元/平台無關的代碼獨立,以便移植。