02STM32環境搭建新建工程

STM32環境搭建&新建工程

    • 軟件安裝:
    • 開發方式&新建工程步驟&架構
  • 個人心得

軟件安裝:

安裝Keil5 MDK
安裝器件支持包
軟件注冊
安裝STLINK驅動
安裝USB轉串口驅動

開發方式&新建工程步驟&架構

STM32開發方式:
1.寄存器 和51一樣,程序直接控制配置寄存器。最底層,效率最高,但是由于結構復雜,寄存器太多,不推薦這種開發方式
2.標準庫 庫函數(ST官方提供的封裝好的函數,調用這些函數直接配置寄存器,由于ST對寄存器封裝地比較好,這種方式既能滿足對寄存器的配置,對開發人員也比較友好,有利于提高開發效率)需要庫函數壓縮包,固件庫的文件,標準庫函數壓縮包
3.HAL庫適合快速上手STM32,同時移植效果更好,但是隱藏了底層邏輯。推薦標準庫開發,后面提高效率開發再學HAL庫開發

STM32F10x_StdPeriph_Lib_V3.5.0 STM32標準固件庫里面的文件說明:
_htmresc文件夾 兩張圖片,沒啥用
Libraries文件夾 存放的庫函數文件,要用到
Project文件夾 官方提供的工程示例和模板,以后使用庫函數的時候可以進行參考
Utilities文件夾 官方評估板的相關例程
Release_Notes.html發布文檔 版本說明
stm32f10x_stdperiph_lib_um.chm使用手冊 教如何使用這個庫函數,有時間可以看

工程的必要文件
1.Stm32的啟動文件
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
啟動文件有很多分類,但是我們只能添加其中一個,對應器件的FLASH內存大小來選擇啟動文件

2.STM32的外設寄存器描述文件、時鐘配置文件和函數
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x文件夾下
stm32f10x.h、stm32f10x.h、stm32f10x.三個文件
stm32f10x.h是STM32的外設寄存器描述文件;和51單片機的頭文件REGX52.H一樣。描述STM32有哪些寄存器和它對應的地址的
system_stmf10x.c和.h文件時用來配置時鐘的,STM32主頻72MHz,就是system文件里的函數配置的

STM32由內核和內核外圍的設備組成,而且內核的寄存器描述和外圍設備的描述文件不是在一起的,所以還需添加內核寄存器的描述文件

3.內核寄存器的描述文件
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport
core_cm3.h和core_cm3.c兩個文件
這兩個文件就是內核的寄存器描述(還帶了一些內核的配置函數,所以有一個.c文件)

這些文件都是STM32最基本的文件,不需要我們修改,添加就可。(文件圖標帶了小鑰匙,意味著只讀的文件)
工程選項里面要添加上這個文件夾的頭文件路徑,否則軟件找不到.h文件

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src文件夾
STM32的標準外設庫驅動
但是misc.c是內核的庫函數,其他是內核外的外設庫的庫函數

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc
標準外設驅動庫的頭文件

但是固件庫的文件此時還不能直接使用,

STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template文件夾
stm32f10x_conf.h、stm32f10x_it.c和stm32f10x_it.h三個文件
Stm32f10x_conf.h (configuration)配置庫函數頭文件的包含關系的;還有用來參數檢查的函數定義,這是所有庫函數都需要的
Stm32f10x_it.c 和it.h 用來存放中斷函數的

建立工程文件夾,Keil中新建工程,選擇型號
工程文件夾里建立Start、Library、User等文件夾,復制固件庫里面的文件到工程文件夾
工程里對應建立Start、Library、User等同名稱的分組,然后將文件夾內的文件添加到工程分組里
工程選項,C/C++,Include Paths內聲明所有包含頭文件的文件夾
工程選項,C/C++,Define內定義USE_STDPERIPH_DRIVER
工程選項,Debug,下拉列表選擇對應調試器,Settings,Flash Download里勾選Reset and Run

在這里插入圖片描述
工程名字:工程干啥可以用文字說明,但是改名字不會很方便
Manage Run-Time Enviroment 新建工程小助手,可幫助快速新建工程,暫時不用

個人心得

在單片機嵌入式領域,個人推薦ARM內核的處理器芯片、

HAL庫和cubeMx是ST公司做的

GD用的話會有兼容性問題(GD也有自己的庫了)
(搞得越來越多啊,花里胡哨,誰來統一一下)

時間(240613)

其他芯片暫時不推薦學習

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

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

相關文章

什么是倒退型自閉癥?

在星貝育園自閉癥兒童康復學校,作為一位致力于自閉癥兒童教育與康復的老師,我深知家長們面對“倒退型自閉癥”這一概念時的困惑與憂慮。今天,就讓我以專業的身份,為大家揭開倒退型自閉癥的神秘面紗,共同探討這一特殊現…

mysql中的遞歸函數recursive

遞歸部門 WITH recursive dept_tree AS (SELECTsd.mine_id AS mine_id,sd.dept_id AS dept_id,sd.tenant_id AS tenant_id,sd.order_num,sd.dept_name AS topName,sd.dept_id AS topIdFROMsys_dept sdWHERE<!-- 加上or后也會查詢出dept節點 sd.parent_id #{deptId} or sd.…

uniapp H5頁面設置跨域請求

記錄一下本地服務在uniapp H5頁面訪問請求報跨域的錯誤 這是我在本地起的服務端口號為8088 ip大家可打開cmd 輸入ipconfig 查看 第一種方法 在源碼視圖中配置 "devServer": {"https": false, // 是否啟用 https 協議&#xff0c;默認false"port&q…

跨界客戶服務:拓展服務邊界,創造更多價值

在當今這個日新月異的商業時代&#xff0c;跨界合作已不再是新鮮詞匯&#xff0c;它如同一股強勁的東風&#xff0c;吹散了行業間的壁壘&#xff0c;為企業服務創新開辟了前所未有的廣闊天地。特別是在客戶服務領域&#xff0c;跨界合作正以前所未有的深度和廣度&#xff0c;拓…

一文理解 Treelite,Treelite 為決策樹集成模型的部署和推理提供了高效、靈活的解決方案

&#x1f349; CSDN 葉庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、什么是 Treelite&#xff1f; Treelite 是一個專門用于將決策樹集成模型高效部署到生產環境中的機器學習模型編譯器&#xff0c;特別適合處理大批量數據的推理任務&#xff0c;能夠顯著提升推理性能…

[Vite]Vite插件生命周期了解

[Vite]Vite插件生命周期了解 Chunk和Bundle的概念 Chunk&#xff1a; 在 Vite 中&#xff0c;chunk 通常指的是應用程序中的一個代碼片段&#xff0c;它是通過 Rollup 或其他打包工具在構建過程中生成的。每個 chunk 通常包含應用程序的一部分邏輯&#xff0c;可能是一個路由視…

【刷題匯總--大數加法、 鏈表相加(二)、大數乘法】

C日常刷題積累 今日刷題匯總 - day0061、大數加法1.1、題目1.2、思路1.3、程序實現 2、 鏈表相加(二)2.1、題目2.2、思路2.3、程序實現 3、大數乘法3.1、題目3.2、思路3.3、程序實現 4、題目鏈接 今日刷題匯總 - day006 1、大數加法 1.1、題目 1.2、思路 讀完題,明白大數相加…

使用空指針訪問成員函數

#include<iostream> #include<ctime> using namespace std; class Person { public:void outPr(){cout << "outPr()被調用" << endl;} };void test02() {Person* p1 NULL;p1->outPr(); }int main() {test02();return 0; }

郭明錤:蘋果將為Vision Pro推出紅外攝像頭款AirPods

在科技界,蘋果公司的每一次創新都備受矚目。近日,著名蘋果分析師郭明錤透露了一個令人振奮的消息:蘋果計劃在2026年推出配備紅外攝像頭的新款AirPods,這款耳機將特別優化與Apple Vision Pro頭顯的空間體驗。這一消息不僅預示著蘋果在音頻設備領域的又一次技術飛躍,也進一步…

策略為王股票軟件源代碼-----如何修改為自己軟件62----資訊菜單修改-----舉例---------調用同花順F10資訊------

//char szInfoF10[] "http://www.f10.com.cn/ggzx/ggzl.asp?zqdm%s"; char szInfoF10[] "http://basic.10jqka.com.cn/601899/"; // MENUITEM "F10資訊(&F)", ID_INFO_F10 MENUITEM &…

Lua 錯誤處理

Lua 錯誤處理 Lua是一種輕量級的編程語言&#xff0c;廣泛用于游戲開發、腳本編寫和其他應用程序中。在編程過程中&#xff0c;錯誤處理是一個重要的方面&#xff0c;它可以幫助開發者創建更健壯和可靠的程序。本文將詳細介紹Lua中的錯誤處理機制。 錯誤類型 在Lua中&#x…

VueDraggable拖拽

import { VueDraggable } from ‘vue-draggable-plus’ <VueDraggable style“display: flex;flex-wrap: wrap;” v-model“fileListResourcesImgs” end“onEnd”> <div class“icon-container” click“changeResourcesImgsIndex(index)”> <span class“del…

多功能工具網站

江下科技在線應用-免費PDF轉換成Word-word轉pdf-無需下載安裝 (onlinedo.cn)https://www.onlinedo.cn/

【OnlyOffice】桌面應用編輯器,插件開發大賽,等你來挑戰

OnlyOffice&#xff0c;桌面應用編輯器&#xff0c;最近版本已從8.0升級到了8.1 從PDF、Word、Excel、PPT等全面進行了升級。隨著AI應用持續的火熱&#xff0c;OnlyOffice也在不斷推出AI相關插件。 因此&#xff0c;在此給大家推薦一下OnlyOffice本次的插件開發大賽。 詳細信息…

52-4 內網代理1 - 內網代理簡介

一、正向連接 正向連接是指受控端主機監聽一個端口,由控制端主機主動發起連接的過程。這種連接方式適用于受控主機擁有公網IP地址的情況。例如,在攻擊者和受害者都具有公網IP的情況下,攻擊者可以直接通過受害者的公網IP地址訪問受害者主機,因此可以使用正向連接來建立控制通…

支持向量機(Support Vector Machine,SVM)及Python和MATLAB實現

支持向量機&#xff08;Support Vector Machine&#xff0c;SVM&#xff09;是一種經典的機器學習算法&#xff0c;廣泛應用于模式識別、數據分類和回歸分析等領域。SVM的背景可以追溯到1990s年代&#xff0c;由Vladimir Vapnik等人提出&#xff0c;并在之后不斷發展和完善。 …

HTML5使用<pre>標簽:保留原始排版方式

在網頁創作中&#xff0c;一般是通過各種標記對文字進行排版的。但是在實際應用中&#xff0c;往往需要一些特殊的排版效果&#xff0c;這樣使用標記控制起來會比較麻煩。解決的方法就是保留文本格式的排版效果&#xff0c;如空格、制表符等。 如果要保留原始的文本排版效果&a…

MySQL的count()方法慢

前言 mysql用count方法查全表數據&#xff0c;在不同的存儲引擎里實現不同&#xff0c;myisam有專門字段記錄全表的行數&#xff0c;直接讀這個字段就好了。而innodb則需要一行行去算。 比如說&#xff0c;你有一張短信表(sms)&#xff0c;里面放了各種需要發送的短信信息。 …

004 返回值處理

文章目錄 不使用注解修飾ModelAndViewvoidString&#xff08;推薦&#xff09; 使用注解修飾ResponseBody注解常用的HttpMessageConverter 不使用注解修飾 ModelAndView Controller方法中定義ModelAndView對象并返回&#xff0c;對象中可添加model數據、指定view。 void 在Co…

關于linux服務器更改鏡像后連接不上vscode問題

問題樣子解決辦法直接看 問題樣子 問題描述&#xff1a;從centos換到ubantu后&#xff0c;xshell能直接連接上&#xff08;沒有更改ssh配置信息&#xff09;&#xff0c;但是vscode連不上&#xff08;配置文件因為端口號和ip是一樣的&#xff0c;也沒法改&#xff09; 猜測…