在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F103系列開發_點亮LED燈

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2022-05-26 10:03 ? 次閱讀

1. 前言

STM32目前市面上使用比較廣泛,資料多,接下來就介紹如何快速入門STM32,進行基礎開發。

這篇文章是STM32F103系列文章的第一篇,主要介紹開發環境的搭建、編程思路、如何查看原理圖、配置時鐘,配置GPIO口模式等等。

下面文字是來至STM32中文手冊,對STM32系列做了詳細的介紹:

STM32是一個微控制器產品系列的總稱,目前這個系列中已經包含了多個子系列,分別是: STM32小容 量產品、 STM32中容量產品、 STM32大容量產品和STM32互聯型產品;按照功能上的劃分,又可分為 STM32F101xx、 STM32F102xx和STM32F103xx系列;

● 小容量產品是指閃存存儲器容量在16K至32K字節之間的STM32F101xx、 STM32F102xx和 STM32F103xx微控制器。 ● 中容量產品是指閃存存儲器容量在64K至128K字節之間的STM32F101xx、 STM32F102xx 和STM32F103xx微控制器。 ● 大容量產品是指閃存存儲器容量在256K至512K字節之間的STM32F101xx和STM32F103xx 微控制器。 ● 互聯型產品是STM32F105xx和STM32F107xx微控制器。

整體來說,STM32F10x系列里所有型號芯片大多數功能模塊都是相同,主要是區別還是:引腳數量不一樣,FLASH閃存、RAM空間大小不一樣,還有就是功能模塊的數量不一樣。 配置高的芯片,引腳多,功能模塊多。

配置低的型號,引腳自然就少,功能模塊就少。 但是只要有這個功能模塊,所有型號的代碼都是一樣的編寫方式。所以,STM32F10x系列里所有型號代碼都是通用的

目前STM32開發方式主要由3種:寄存器、標準庫、HAL 庫。 其中HAL 庫是目前意法半導體主推的開發方式,有 STM32CubeMx軟件加持,可以一鍵生成keil工程,圖形化編程非常方便,資源網上也有很多。

當前這個系列文章的STM32開發主要是選擇寄存器方式開發,寄存器開發優點是: 代碼較少、整體比較精簡,運行效率較高。但是學習成本、入門成本、調試難度比HAL 庫要難一些,因為使用寄存器開發,需要不斷的看芯片手冊,了解寄存器每個位的詳細功能,需要對芯片寄存器非常熟悉。但是寄存器開發相對比較通用,所有的芯片都支持寄存器開發,了解寄存器開發之后,對優化庫函數、HAL庫的效率、對其他芯片編程、入門Linux驅動開發、了解硬件等都有一定的幫助。

2. 開發前準備

入門STM32開發,首先需要準備一塊開發板,拿到開發板的原理圖、下載STM32的中文參考手冊,下載一個串口下載軟件、準備一臺windows電腦安裝keil5軟件。

開發板淘寶很多,推薦買:搭載STM32F103ZET6芯片的板子,可以買系統板也可以買開發板,系統板的板載資源少,引腳都引出來的,可以自己買模塊擴展;開發板板載資源較多,引腳基本也是引出來的,板子的價格比較貴,購買可以參考正點原子、野火等一些廠家的板子。 一般購買板子之后,都有配套的資料包:原理圖、手冊都有了。

STM32支持st-link、jlink、串口等多種下載方式,其中成本比較低的就是串口下載,不需要購買額外的硬件,生成hex文件之后,通過串口下載到開發板運行,如果hex文件較大,下載速度比較慢。如果資金允許,購買st-link、jlink下載更加快,調試更加方便。

keil軟件最新版可以在這里下載:http://www.myir-tech.com/download.asp?nclassid=108&anclassid=71

image-20220211100907094

下載后,根據提示,一直點擊next即可。軟件安裝在英文目錄下,防止出現一些不必要的麻煩。

3. 點亮LED

準備工作就緒之后,下面就入門STM32,點亮LED燈。

拿到開發板先看一下LED原理圖,找到LED的硬件接線位置。

image-20220211101603486

關于keil軟件如何新建STM32工程的文章之前是寫過的,詳細步驟看這里: https://blog.csdn.net/xiaolong1126626497/article/details/119879328

點亮LED燈,需要控制STM32的GPIO口輸出指定的電平,STM32GPIO口編程步驟分為:

開時鐘

配置GPIO口模式

控制GPIO口輸出

中文參考手冊里的第6章和第8章分別介紹了時鐘寄存器和GPIO口配置寄存器,主要看這兩章節即可。

image-20220211102155405image-20220211102348433

GPIO口模式配置寄存器有兩個:CRL和CRH,一個IO口由4個二進制位表示,STM32是32位的MCU,一個寄存器是32位,GPIO口分為GPIOA,GPIOB,GPIOC等很多組,每一組的GPIO口的數量是16個。所以要配置一組GPIO口的模式需要64個二進制位,所以就分成了兩個寄存器來表示。 CRL配置0~7的GPIO口,CRH就配置8~15的IO口。

如果GPIO口作為普通的輸出,一般配置位置推挽輸出,如果作為按鍵這種輸入檢測硬件,一般配置為上下拉輸入。如果需要使用GPIO口內置的功能輸出,就配置為復用功能推挽輸出。

配置LED燈對應的GPIO口示例代碼:

/*
函數功能: LED初始化
硬件連接: PB6 PB7 PB8 PB9
特性: 低電平點亮
*/
void LED_Init(void)
{
    //開時鐘
    RCC->APB2ENR|=1<<3;
    //配置GPIO口
    GPIOB->CRL&=0x00FFFFFF;
    GPIOB->CRL|=0x22000000;
    GPIOB->CRH&=0xFFFFFF00;
    GPIOB->CRH|=0x00000022;
    //上拉
    GPIOB->ODR|=1<<6;
    GPIOB->ODR|=1<<7;
    GPIOB->ODR|=1<<8;
    GPIOB->ODR|=1<<9;
}
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7552

    瀏覽量

    151426
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    108006
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    356045
  • STM32F103
    +關注

    關注

    33

    文章

    477

    瀏覽量

    63661
收藏 人收藏

    評論

    相關推薦

    如何利用STM32F103點亮一個LED

    基于STM32F103點亮一個LED1、實驗目的2、實驗要求3、proteus仿真圖4、程序代碼1、實驗目的1、掌握使用KEIL MDK5進行軟件
    發表于 12-16 08:28

    基于STM32F103 RET6芯片點亮LED

    博客內容基于STM32F103 RET6芯片,點亮PC3引腳LED,程序主要參考B站:STM32F103
    發表于 12-16 06:10

    如何使用STM32F103系列芯片以寄存器的方式點亮LED流水燈

    STM32的IO口可以由軟件配置成哪幾種模式呢?如何使用STM32F103系列芯片以寄存器的方式點亮LED流水燈?
    發表于 02-11 08:12

    如何利用STM32F103點亮LED

    STM32F103點亮LED
    發表于 02-21 06:38

    stm32f103系列引腳定義-功能圖

    本文介紹stm32f103系列芯片引腳功能定義如STM32F103C8T6,STM32F103RCT6等引腳圖各個管腳的功能與使用。
    發表于 08-03 17:03 ?25.7w次閱讀
    <b class='flag-5'>stm32f103</b><b class='flag-5'>系列</b>引腳定義-功能圖

    盤古STM32F103開發板移植uCGUI教程

    盤古STM32F103開發板移植uCGUI教程
    發表于 09-29 09:21 ?21次下載
    盤古<b class='flag-5'>STM32F103</b><b class='flag-5'>開發</b>板移植uCGUI教程

    STM32F103使用總結

    STM32F103使用總結
    發表于 10-24 10:22 ?152次下載

    stm32f103移植

    stm32f103移植
    發表于 10-27 09:03 ?43次下載
    <b class='flag-5'>stm32f103</b>移植

    STM32F103設計開發原理圖.pdf

    STM32F103設計開發原理圖
    發表于 05-19 10:04 ?252次下載

    STM32F103點亮LED流水燈

    本文主要敘述了什么是寄存器及用寄存器和庫函數的方式點亮LED流水燈,本文主要采用stm32f103c8t6開發開發環境:keil μVis
    發表于 11-26 10:21 ?20次下載
    <b class='flag-5'>STM32F103</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b>流水燈

    STM32F103_IOT物聯網開發板學習專欄3_STM32F103控制LED

    STM32F103_IOT物聯網開發板學習專欄3_STM32F103控制LED
    發表于 12-03 17:51 ?7次下載
    <b class='flag-5'>STM32F103</b>_IOT物聯網<b class='flag-5'>開發</b>板學習專欄3_<b class='flag-5'>STM32F103</b>控制<b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    STM32F103點亮LED

    文章目錄一、點燈1.打開時鐘2. 初始化3. 設置低電平三、創建項目1. 新建項目2. 編寫代碼四、連接電路五、總結使用工具:stm32f103C8T6USB轉串口面包板導線若干LED3個一、點燈
    發表于 12-07 09:51 ?16次下載
    <b class='flag-5'>STM32F103</b><b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    GD32F103STM32F103的區別 2021.6.2

    GD32F103STM32F103區別介紹關鍵詞Key words:GD32F103STM32F103摘要Abstract:本文主要是GD32F
    發表于 12-08 11:06 ?83次下載
    GD32<b class='flag-5'>F103</b>與<b class='flag-5'>STM32F103</b>的區別 2021.6.2

    STM32F103實驗一:點亮LED

    STM32F103點亮LED
    發表于 12-27 18:36 ?49次下載
    <b class='flag-5'>STM32F103</b>實驗一:<b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    【嵌入式】STM32F103寄存器方式點亮LED流水燈

    目錄一、實驗題目二、工程文件的建立三、點亮LED(軟件部分)四、點亮LED(實操部分)五、實
    發表于 01-13 14:56 ?3次下載
    【嵌入式】<b class='flag-5'>STM32F103</b>寄存器方式<b class='flag-5'>點亮</b><b class='flag-5'>LED</b>流水燈
    主站蜘蛛池模板: 久久天天躁夜夜躁狠狠躁2020| 国产色片| 久久国模| 狠狠操婷婷| 国产精品漂亮美女在线观看| 成人在线91| 伊人网在线免费视频| 手机在线看片你懂的| 国产亚洲欧美成人久久片| 久久精品人人爽人人爽快| 亚洲ol| 国产午夜视频在永久在线观看| 国产大片黄在线看免费| 婷婷午夜影院| 青草久| 国产亚洲精品线观看77 | 六月丁香色婷婷| 成年人www| 免费一级毛片正在播放| 黄色男人的天堂| 色清片| 国产拍拍拍精品视频| 一级毛片黄色| 偷偷久久| 97影院理论| 国产精品资源网站在线观看| 一级做a爱| 萌白酱香蕉白丝护士服喷浆| 97福利| 亚洲精品成人a| 天堂在线国产| 簧片地址| 天天干天天操天天玩| 欧美在线性| 亚洲天堂h| 精品成人在线| 成人影院在线观看| 一级特黄a大片免费| 寡妇一级a毛片免费播放| 久久99爱爱| 中文字幕第五页|