STM32新建工程

1、新建工程

  • Keil5中,新建Project,選擇STM32Project文件夾,在此文件夾下新建一個文件夾“STM32工程模板”,然后給工程文件起名字“Project”
  • 選擇器件型號

2、添加啟動文件

  • 新建start文件夾
  • 復制啟動文件:固件庫文件夾…/CM3/DeviceSupport/ST/STM32F10x/startup/arm/中的文件復制到start文件夾下
  • 賦值stm32外設寄存器描述文件:…/CM3/DeviceSupport/ST/STM32F10x/下的stm32f10x.h(外設寄存器描述文件)、system_stm32f10x.c(配置時鐘)、system_stm32f10x.c
  • 添加內核啟動文件(因為stm32是內核和內核外圍設備組成)…/CM3/CoreSupport文件夾下core_cm3.c、core_cm3.h(內核寄存器描述文件和相關配置)

3、添加文件到工程中(stm32基本文件)

  • 更改工程文件名為start,右鍵-添加存在的文件,添加start文件中的…md.vls(啟動文件)、.c、.h文件

4、工程選項中添加頭文件路徑

在這里插入圖片描述

5、新建main.c文件

  • 文件夾內新建User文件夾
  • 工程文件,右鍵-添加組-改名User,User上右鍵-添加新文件-main.c-選擇Location,要選擇文件夾中新建的User文件夾,否則main.c會默認在文件夾外

6、代碼編寫

  • 引入stm32f10x.h頭文件
  • 寫main函數
  • 添加一個while死循環

7、添加庫函數

  • 工程文件夾下新建“Library”文件夾
  • 復制固件庫文件:…/Libraries/…_Drivers/src下的文件復制到新建的“Library”文件夾下;
  • 復制inc文件(庫函數頭文件):…/Libraries/…_Drivers/inc下的文件復制到新建的“Library”文件夾下;
  • Keil軟件,右鍵添加組,改名為“Library”,右鍵添加已存在的文件,添加庫函數文件
  • 添加必要文件到User文件夾:固件庫文件夾,添加stm32f10x.conf.h(用來配置庫函數頭文件的包含關系的以及參數檢查的函數定義)和stm32f10x_it.hstm32f10x_it.c(用來存放中斷函數)
  • Keil軟件中將stm32f10x.conf.hstm32f10x_it.hstm32f10x_it.c三個文件添加到User組中
  • 添加宏定義“USE_STDPERIPH_DRIVER”,添加標準外設庫,這樣才能包含標準外設庫,也就是庫函數
    在這里插入圖片描述
    在這里插入圖片描述
    調整工程目錄順序
    在這里插入圖片描述

8、庫函數實現點燈

在這里插入圖片描述

#include "stm32f10x.h"
// Device header
int main(void){RCC_APB2PeriphclockCmd(RCC APB2Periph GPIOC,ENABLE);GPIO_InitTypeDef GPIO_Initstructure;GPIO_Initstructure.GPIO_Mode = GPIO_Mode_out_PP;GPIO_Initstructure.GPlo_Pin = GPIO_Pin_13;GPIO_Initstructure.GPlO_speed = GPIO_speed_50MHz;GPIO_Init(GPIOC,&GPIo Initstructure);GPIO setBits(GPIOC,GPIO_Pin_13);while (1){}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88981.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88981.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88981.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡傳輸過程

https傳輸過程客戶端發起HTTPS請求操作:用戶在瀏覽器輸入 https://www.example.com 技術細節: 客戶端向服務器443端口發起TCP連接 發送Client Hello消息(包含支持的TLS版本、加密套件、客戶端隨機數) 安全意義:建立安全…

【LeetCode 3440. 重新安排會議得到最多空余時間 II】解析

目錄LeetCode中國站原文原始題目題目描述示例1:示例2:示例3:示例4:講解1. 新規則,新挑戰2. 收益從何而來?兩種可能性的誕生3. 我們的終極策略4. 當策略被壓縮到極致第一次遍歷:從左到右&#xf…

C++卸載了會影響電腦正常使用嗎?解析C++運行庫的作用與卸載后果

卸載C運行庫可能導致常用軟件癱瘓!這些不起眼的組件為Photoshop、游戲等提供關鍵支持,多個版本共存是正常現象,隨意清理會引發程序報錯甚至閃退。一、前言:C不是“編程語言”那么簡單很多用戶在電腦中看到“Microsoft Visual C Re…

前端vue對接海康攝像頭流程

1、拆包攝像頭、插電源2、下載SADP(設備網絡搜索),連接設備,獲取ip地址 下載地址:https://partners.hikvision.com/tools 找到自己的設備類型DS開頭3、攝像頭鏈接wifi、網線 登錄設備預覽配置網頁-配置網絡-可預覽等 4…

org.casic.javafx.control.PaginationPicker用法

org.casic.javafx.control.PaginationPicker 是 CASIC(或某位作者)基于 JavaFX 自制的分頁控件,功能比官方 Pagination 更完整,支持:首頁 / 上一頁 / 下一頁 / 尾頁按鈕頁碼快速跳轉每頁條數自定義總數據量、當前頁碼、…

下載 | Win10 2021精簡版,預裝應用極少!(7月更新、Win 10 IoT LTSC 2021版、適合老電腦安裝)

? 【資源A047】Win10 IoT LTSC 2021精簡版 🔶Windows 10 IoT 企業版 LTSC 2021 正式版更新中。LTSC是長期服務渠道版本,網友俗稱“老壇酸菜版”,相當于精簡版Win10,精簡了很多預裝應用,同時更新頻率也更低&#xff0c…

Web3:Foundry使用指南

Foundry目錄1. 前言2. 什么是Foundry3. 安裝與環境配置1. 安裝工具2. 重新加載 .bashrc3. 檢查環境變量 PATH4. 手動運行 foundryup4. Foundry的基本使用1.創建一個新的Foundry項目2. 編寫智能合約3. 編譯智能合約4. foundry.toml 主要作用5.部署智能合約5. Cli參考1. forge2. …

uniapp+unipush推送配置

APP推送記錄 一、使用框架 Uniappunipush推送插件 二、需要提前準備的 1.準備自有證書 可以用這個網站—香蕉云編(用于安卓 ios證書生成)https://www.yunedit.com/update/androidzhengshu/list 安卓證書生成后,下載證書,除了原文…

CentOS系統哪些版本?分別適用于那些業務或網站類型?

CentOS(Community ENTerprise Operating System)是一款開源的企業級 Linux 操作系統,因其穩定性、安全性和長期支持周期,廣泛應用于服務器環境。以下是 CentOS 的主要版本及其適用場景的詳細介紹。1. CentOS 主要版本CentOS 的版本…

【前端】【Iconify圖標庫】【vben3】createIconifyIcon 實現圖標組件的自動封裝

🧩 Vue 圖標管理全攻略:Iconify createIconifyIcon 封裝最佳實踐 在前端項目中,圖標無處不在。按鈕需要圖標,導航需要圖標,提示信息也少不了圖標。如何優雅、高效地使用圖標,是每個中大型 Vue 項目不可回…

數據可視化全流程設計指南

一、需求定義階段1. 明確核心目標回答關鍵問題:2. 確定數據特性import pandas as pd data pd.read_csv(your_data.csv) print(f""" 數據概覽: - 維度: {data.shape[1]}列 {data.shape[0]}行 - 類型分布: {data.dtypes.value_counts()} - 缺失值: …

Llama系列:Llama1, Llama2,Llama3內容概述

前言 參考視頻:大模型修煉之道(三): Llama系列講解 Llama1,Llama2, Llama3_嗶哩嗶哩_bilibili 本博客是基于視頻的學習筆記,以及相關知識點的擴充 Llama1 1. 動機 使用完全開源數據,性能媲美GPT3研究開源,禁止商用…

Docker 搭建本地Harbor私有鏡像倉庫

Docker 搭建本地Harbor私有鏡像倉庫 一、Harbor 核心價值與企業級特性解析 在容器化技術普及的背景下,鏡像倉庫作為容器生命周期的核心組件,其可靠性直接影響開發效率與生產穩定性。Docker 官方的 Registry 雖能實現基礎鏡像存儲,但存在明顯短…

AI 助力:如何批量提取 Word 表格字段并導出至 Excel

在日常辦公中,我們經常需要處理大量的 Word 文檔中的表格數據,如學生登記表、客戶信息表、報名表等。然而這些表格往往格式各異、字段命名不統一(如“姓名”“名字”“Name”),甚至含有合并單元格或多余空白行&#xf…

在 Azure Linux 上安裝 RustFS

本文分享在 Azure Linux 上安裝并使用對象存儲 RustFS 的過程。 關于 RustFS RustFS 是一款用 Rust 語言編寫的分布式存儲系統,兼容 S3 協議,是 MinIO 的國產化平替。詳情可以前往 RustFS 官網。目前,RustFS 支持二進制、Docker 安裝方式&am…

實現在線預覽pdf功能,后臺下載PDF

<!-- PDF預覽模態框 --><n-modalv-model:show"pdfModalVisible"title"投訴統計報告預覽":closable"false":mask-closable"false"positive-click"closePdfModal"positive-text"關閉":width"900"…

華為VS格行VS中興VS波導隨身WIFI6怎么選?流量卡OR隨身WIFI,長期使用到底誰更香?

在移動互聯時代&#xff0c;流量焦慮成為現代人的通病。面對"辦流量卡還是隨身WiFi"的抉擇&#xff0c;許多人陷入兩難。本文從實際需求出發&#xff0c;用數據和場景幫你精準決策&#xff0c;尤其這五類人群建議直接選擇正規隨身WiFi。一、這五類人&#xff0c;隨身…

AI網絡搜索

作為AI應用程序開發人員在了解函數調用&#xff08;Function Calling&#xff09;特性調用本地函數時可能注意到列表型參數tools中每一個元素都攜帶有一個type值。而在大多數函數調用示例程序中&#xff0c;這個type值一直被設定為“function”&#xff0c;這意味著它還可能存在…

39.Sentinel微服務流量控制組件

雪崩問題 微服務調用鏈路中某個服務故障,引起整個鏈路中的所有微服務都不可用。 解決方案 1.超時處理:設置一個超時時間,請求超過一定時間沒有響應就返回錯誤信息,不會無休止的等待。(只能起到緩解作用,并不能從根本上解決問題) 2.艙壁模式:限定每個業務能使用的線程…

基于hadoop的競賽網站日志數據分析與可視化(下)

【基于hadoop的競賽網站日志數據分析與可視化&#xff08;上&#xff09;】講解了如何用hadoop對數據進行初步處理&#xff0c;本篇主要講解用python對結果數據進行可視化分析。 ------------------------------------------------------------------------------------------…