国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【STM32】STM32F103C8T6 創(chuàng)建工程模版詳解(固件庫)

這篇具有很好參考價(jià)值的文章主要介紹了【STM32】STM32F103C8T6 創(chuàng)建工程模版詳解(固件庫)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

00. 目錄

01. 固件庫概述

ST(意法半導(dǎo)體)為了方便用戶開發(fā)程序,提供了一套豐富的 STM32標(biāo)準(zhǔn)外設(shè)函數(shù)庫庫,簡稱固件庫。

固件庫版本

STM32F10x_StdPeriph_Lib_V3.5.0

02. 創(chuàng)建工程步驟

2.1 在建立工程之前,我們在電腦的某個(gè)目錄下面建立一個(gè)文件夾,名字為 00_Template。

筆者目錄為E:\Program Data\Keil\00_Template

2.2 在上述00_Template目錄下創(chuàng)建一下四個(gè)目錄
stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

CORE 用來存放核心文件和啟動文件,OBJ 是用來存放編譯過程文件以及hex 文件,STM32F10x_FWLib 文件夾顧名思義用來存放 ST 官方提供的庫函數(shù)源碼文件。

2.3 點(diǎn)擊 MDK 的菜單:Project –>New Uvision Project ,

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.4 將目錄定位到剛才建立的文件夾00_Template 之下,然后定位到 USER 目錄下面,我們的工程文件就都保存到 USER 文件夾下面。工程命名為Template,點(diǎn)擊保存。

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.5 選擇 CPU 的界面,就是選擇我們的芯片型號。

STMicroelectronics→STM32F1 Series→STM32F103→STM32F103C8T6(如果使用的是其他系列的芯片,選擇相應(yīng)的型號就可以了)

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

溫馨提示

一定要安裝對應(yīng)的器件 pack 才會顯示這些內(nèi)容哦!

2.6 MDK 會彈出 Manage Run-Time Environment 對話框, 點(diǎn)擊取消即可。

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.7 點(diǎn)擊取消之后得到如下界面

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.8 將固件庫目錄下面的 src,inc 文件夾拷貝到我們剛才建立的 STM32F10x_FWLib 文件夾下面。

固件庫目錄:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver

目的目錄:00_Template\STM32F10x_FWLib

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.9 將固件庫包里面相關(guān)的啟動文件復(fù)制到我們的工程目錄 CORE 之下。

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 下面,將文件 core_cm3.c和文 件core_cm3.h 復(fù) 制到CORE 目錄里面。

2.10 將里面 startup_stm32f10x_hd.s 文件復(fù)制到 CORE 下面

定位到目錄STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\a
rm 下面,將里面 startup_stm32f10x_md.s 文件復(fù)制到 CORE 下面。

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.11 將三個(gè)文件 stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h,復(fù)制到我們的USER目錄之下。

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下面將里面的三個(gè)文件 stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h,復(fù)制到我們的 USER目錄之下。

2.12 將4個(gè)文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h 復(fù)制到 USER 目錄下面。

然后將STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下面的 4 個(gè)文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h 復(fù)制到 USER 目錄下面。

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.13 將上述文件添加到我們的工程中去。右鍵點(diǎn)擊 Target1,選擇 Manage Project Items。

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.14 Project Targets一欄,我們將Target名字修改為Template,然后在Groups一欄刪掉一個(gè)SourceGroup1,建立三個(gè) Groups:USER,CORE,FWLIB。然后點(diǎn)擊 OK。

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.15 右鍵點(diǎn)擊點(diǎn)擊Tempate,選擇選擇 Manage Project Itmes,然后選擇需要添加文件的 Group,添加對應(yīng)的文件。

我們選擇 FWLIB, 然 后 點(diǎn) 擊 右 邊 的 Add Files, 定 位 到 我 們 剛 才 建 立 的 目 錄,STM32F10x_FWLib/src 下面,將里面所有的文件選中(Ctrl+A),然后點(diǎn)擊 Add,然后 Close。

CORE 下面需要添加的文件為 core_cm3.c,startup_stm32f10x_md.s ( 注意,默認(rèn)添加的時(shí)候文件類型為.c, 也就是添加 startup_stm32f10x_md.s 啟動文件的時(shí)候,你需要選擇文件類型為 All files 才能看得到這個(gè)文件),USER 目錄下面需要添加的文件為 main.c,stm32f10x_it.c,system_stm32f10x.c.這樣我們需要添加的文件已經(jīng)添加到我們的工程中了,最后點(diǎn)擊 OK

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.16 選擇編譯中間文件編譯后存放目錄

在編譯之前我們首先要選擇編譯中間文件編譯后存放目錄。方法是點(diǎn)擊魔術(shù)棒,然后選擇“Output”選項(xiàng)下面的“Select folder for objects…”,然后選擇目錄為我們上面新建的 OBJ 目錄。這里大家注意,如果我們不設(shè)置 Output 路徑,那么默認(rèn)的編譯中間文件存放目錄就是 MDK 自動生成的 Objects 目錄和 Listings 目錄。

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.17 設(shè)置頭文件目錄

對于任何一個(gè)工程,我們都需要把工程中引用到的所有頭文件的路徑都包含到進(jìn)來 ?;氐焦こ讨鞑藛?,點(diǎn)擊魔術(shù)棒 ,出來一個(gè)菜單,然后點(diǎn)擊 c/c++選項(xiàng).然后點(diǎn)擊Include Paths 右邊的按鈕。彈出一個(gè)添加 path 的對話框,然后我們將圖上面的 3 個(gè)目錄添加進(jìn)去。記住,keil 只會在一級目錄查找,所以如果你的目錄下面還有子目錄,記得 path一定要定位到最后一級子目錄。然后點(diǎn)擊 OK.

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

添加好目錄之后的情形

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.18 添加宏定義

STM32F10X_MD,USE_STDPERIPH_DRIVER

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.19 將main.c復(fù)制改為以下代碼

#include "stm32f10x.h"

 void Delay(u32 count)
 {
   u32 i=0;
   for(;i<count;i++);
 }
 int main(void)
 {	
  GPIO_InitTypeDef  GPIO_InitStructure;
	 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|
  RCC_APB2Periph_GPIOE, ENABLE);	    //使能PB,PE端口時(shí)鐘
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;			    //LED0-->PB.5 端口配置
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 	 //推挽輸出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	 //IO口速度為50MHz
  GPIO_Init(GPIOB, &GPIO_InitStructure);			     //初始化GPIOB.5
  GPIO_SetBits(GPIOB,GPIO_Pin_5);					//PB.5 輸出高
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;	            //LED1-->PE.5推挽輸出
  GPIO_Init(GPIOE, &GPIO_InitStructure);	  	       //初始化GPIO
  GPIO_SetBits(GPIOE,GPIO_Pin_5); 			 //PE.5 輸出高 	  
  while(1)
	{
	    GPIO_ResetBits(GPIOB,GPIO_Pin_5);
	    GPIO_SetBits(GPIOE,GPIO_Pin_5);
		Delay(3000000);
		GPIO_SetBits(GPIOB,GPIO_Pin_5);
		GPIO_ResetBits(GPIOE,GPIO_Pin_5);
		Delay(3000000);
	}
 }

2.20 配置讓編譯之后能夠生成 hex 文件。

同樣點(diǎn)擊魔術(shù)棒,進(jìn)入配置菜單,選擇 Output。然后勾上下三個(gè)選項(xiàng)。 其中 Create HEX file 是編譯生成 hex 文件,Browser Information 是可以查看變量和函數(shù)定義。

stm32f103c8t6工程,嵌入式天地,stm32,stm32f103,工程模板,stm32工程,stm32f103工程

2.21 編譯整個(gè)工程,如果沒有任何報(bào)錯(cuò),則整個(gè)工程已經(jīng)創(chuàng)建好了。文章來源地址http://www.zghlxwxcb.cn/news/detail-607800.html

03. 預(yù)留

04. 附錄

到了這里,關(guān)于【STM32】STM32F103C8T6 創(chuàng)建工程模版詳解(固件庫)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 功耗測評 | STM32F103C8T6

    功耗測評 | STM32F103C8T6

    STM32F103C8T6 MCU越來越廣泛的應(yīng)用在生產(chǎn)生活的各個(gè)領(lǐng)域,外接豐富的傳感器、功能模塊、通信模塊、顯示存儲等可以形成各種可樣的產(chǎn)品項(xiàng)目應(yīng)用。對于功耗要求比較高的產(chǎn)品,一般會選擇STM32L系列的MCU,但是從功耗的評測角度,邏輯上是基本相似的。 在很多應(yīng)用場合中都對

    2024年02月07日
    瀏覽(31)
  • STM32F103C8T6系統(tǒng)板

    STM32F103C8T6系統(tǒng)板

    1.電源部分 2.復(fù)位 3.晶振 4. 電源電路——防反接 有關(guān)二極管 漫談二極管防電源反接電路 本次采用上圖右下角的NMOS防反接電路。 電源電路——電源芯片 AMS1117是AMS公司的 ,LM1117是NS(美國國家半導(dǎo)體)的,LM1117要貴很多,所以一般的用AMS1117就可以了。 (以下分析參考STM32F10

    2024年02月02日
    瀏覽(20)
  • STM32F103C8T6板子介紹

    STM32F103C8T6板子介紹

    STM32簡介 STM32是ST公司基于ARM Cortex-M內(nèi)核開發(fā)的32位微控制器 STM32常應(yīng)用在嵌入式領(lǐng)域,如智能車、無人機(jī)、機(jī)器人、無線通信、物聯(lián)網(wǎng)、工業(yè)控制、娛樂電子產(chǎn)品等 STM32功能強(qiáng)大、性能優(yōu)異、片上資源豐富、功耗低,是一款經(jīng)典的嵌入式微控制器。 ?STM32F103C8T6 F1XX片上資源

    2024年02月11日
    瀏覽(22)
  • STM32F103C8T6移植FreeRTOS

    STM32F103C8T6移植FreeRTOS

    根據(jù)自己開發(fā)板型號下載地址:STM32相關(guān)內(nèi)容下載地址 SDK直接下載地址:STM32直接下載地址 下載參考博客 FreeROTS下載地址 選用V9.0.0 版本 個(gè)人創(chuàng)建目錄如下,可做參考 keil目錄 鏈接頭文件 ? 修改堆棧大小 ? 修改中斷函數(shù)名 去掉stm32f10x_it.c終端函數(shù) 增加FreeRTOS中斷 特別解釋

    2024年02月12日
    瀏覽(23)
  • [STM32F103C8T6]ADC轉(zhuǎn)換

    [STM32F103C8T6]ADC轉(zhuǎn)換

    什么是ADC轉(zhuǎn)換? ADC轉(zhuǎn)換的全稱是: Analog-to-Digital Converter ,指模擬 / 數(shù)字轉(zhuǎn)換器 ADC的性能指標(biāo): ADC分辨率: SSA與VREF-一起接到地,DDA與VREF+接到3.3v,所以ADC轉(zhuǎn)換的范圍是0---3.3v 所以最后的ADC轉(zhuǎn)換值應(yīng)該是我們的測量值*分辨率? ? 分辨率 = 3.3v/2^12 = (3.3/4096)? ?12位的轉(zhuǎn)換器所

    2024年02月06日
    瀏覽(26)
  • STM32F103C8T6 按鍵掃描輸入

    STM32F103C8T6 按鍵掃描輸入

    第一章 STM32F103C8T6 點(diǎn)亮LED燈 系列文章目錄 前言 一、原理 ?1.按鍵類型 ?2.按鍵消抖 3.IO口輸入配置 1)模擬輸出 2)浮空輸入模式 3)下拉輸入模式(PULL DOWN) 4)上拉輸入模式(PULL UP) 二、代碼部分 main.c key.c key.h 總結(jié) ? ? ? ? 上一章我們成功入門了STM32F103C8T6,今天我們來

    2023年04月23日
    瀏覽(30)
  • STM32F103C8T6串口調(diào)試篇

    STM32F103C8T6串口調(diào)試篇

    項(xiàng)目開發(fā)中,當(dāng)出現(xiàn)bug時(shí),由于不知道某個(gè)變量的值,所以很難定位問題,針對此問題,串口調(diào)試脫穎而出。通過串口printf()實(shí)時(shí)將需要顯示的信息打印出來,這樣就很方便的定位問題。 串口設(shè)置方法 1.購買調(diào)試器pwlink2。參考STM32F103C8T6程序燒錄方法_stm32f103c8t6如何燒錄_流

    2024年02月12日
    瀏覽(23)
  • stm32f103c8t6的外部中斷

    stm32f103c8t6的外部中斷

    在單片機(jī)中存在著中斷系統(tǒng),這個(gè)系統(tǒng)的邏輯和功能在51單片機(jī)中已經(jīng)有所了解。 1.在32單片機(jī)中的內(nèi)核有一個(gè)nvic 里面存放許多優(yōu)先級的設(shè)定,外接許多中斷源,比如“exti、tim、adc、usart等”接入之后,nvic再通過中斷優(yōu)先級進(jìn)行排隊(duì),再內(nèi)接入cpu中進(jìn)行處理,這樣子大大減少

    2024年02月09日
    瀏覽(30)
  • 嵌入式硬件——stm32F103C8T6

    嵌入式硬件——stm32F103C8T6

    如下圖:? ? 處理器核心:STM32F103C8T6內(nèi)置了ARM Cortex-M3處理器,這是一種高性能、低功耗的32位RISC處理器,適用于嵌入式系統(tǒng)。 時(shí)鐘速度:它可以工作在不同的時(shí)鐘速度,最高主頻可達(dá)72 MHz。 存儲器:包括64KB的Flash程序存儲器用于存儲程序代碼,以及20KB的SRAM用于存儲數(shù)據(jù)和

    2024年02月05日
    瀏覽(125)
  • STM32F103C8T6制作USB鍵盤

    STM32F103C8T6制作USB鍵盤

    ? ? ? ? 1、原因:電腦每次開機(jī)都需要輸入登錄密碼,感覺很麻煩,就想著能不能用單片機(jī)做一個(gè)USB鍵盤,按一下自動給電腦發(fā)一串密碼實(shí)現(xiàn)開機(jī)。后來又想,其實(shí)不用按鍵也行,用延時(shí),延時(shí)到電腦開機(jī)再發(fā)送密碼就好了,于是便有了這個(gè)制作。 ? ? ? ? 2、 功能:將做好

    2024年01月22日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包