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

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

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

3天內不再提示

STM32入門學習筆記之STM32F103環境搭建(上)

jf_78858299 ? 來源:滑小稽筆記 ? 作者:電子技術園地 ? 2023-02-16 09:39 ? 次閱讀

1.1 STM32F103單片機概述

ARM公司在ARM11以后的產品改用Cortex命名,主要分為三種,Cortex-M系列,Cortex-R系列和Cortex-A系列,Cortex系列屬于ARMv7架構,這是2010年為止ARM公司最新的指令集架構,其中Cortex-M主要用于低端的嵌入式控制系統中,Cortex-R主要用于實時系統中,Cortex-A系列則是用于操作系統智能設備和移動電話等領域,比如常見的Cortex-A15(用于Android,Ubuntu等系統中)。

意法半導體(ST公司)開發的STM32就屬于Cortex-M架構,該架構細分又可以分為M0,M0+,M3,H7等,以最常見的STM32F103為例,該芯片屬于Cortex-M3架構,CPU主頻72MHz,內置高精度ADC,USART,CANUSBSDIO等模塊,極大的便于產品的設計。

以STM32F103ZET6為例,該芯片封裝為LQFP-144,內置資源如下所示:

(1)1組17通道高精度ADC,1組15通道ADC,1組13通道ADC,轉換速度可達1us;

(2)1組2路DAC輸出;

(3)8組高級定時器(可以做電容捕捉,PWM輸出,基本定時等功能);

(4)高精度RTC模塊,2路時鐘可選;

(5)1組CAN,支持任意波特率;

(6)2組硬件IIC

(7)3組硬件SPI;

(8)5組串口

(9)1組SDIO模塊,用于外接SD卡通信

(10)1組USB模塊,可做主機,可做從機;

(11)2組I2S模塊,用于I2S通信;

(12)1組CRC模塊;

(13)2組看門狗模塊;

(14)1組DMA模塊;

1.2 STM32F103ZET6最小系統

1.2.1 原理圖

圖片

STM32F103的最小系統由備用電源下載接口,濾波電容,啟動端子和時鐘電路組成,其中濾波電容主要用于穩定CPU電源端口電壓,由于CPU電源端口有12組,所以利用12個100nF電容來穩定每個端口的電壓,布線的時候,每個電容離著供電端口越近越好。

1.2.2 時鐘電路

圖片

單片機最小系統有兩個晶體振蕩器,其中8MHz提供主系統工作時鐘脈沖,即CPU內核,系統總線和除RTC時鐘外其他外設的工作時鐘,32.768KHz時鐘專用于CPU內部RTC時鐘脈沖。

1.2.3 復位電路

圖片

由于STM32F103屬于低電平復位,所以設計了如上圖所示電路進行復位,初始狀態電容兩端電壓為0,相當于低電平,上電后,電容開始充電,隨著充電時間的上升,電容兩端電壓呈現指數上升(電路分析中專門講解過這部分內容),隨著電容充滿電,電容兩端理論電壓逐漸達到3.3V,此時復位結束,如果想要不斷電復位,只需要按一下按鍵S1,按下按鍵后,電容對地放電,放完電后達到低電平,此時開始復位,然后重復上電復位的過程。

1.2.4 啟動選擇端口

圖片

圖片

STM32有三種啟動方式,通過BOOT0和BOOT1的電平選擇,具體分配如下表所示。

BOOT0 BOOT1 啟動方式
0 × FLASH啟動(用戶閃存器啟動)
1 0 系統存儲器啟動(主要用于串口下載)
1 1 SRAM啟動,主要用于在SRAM中調試代碼

一般啟動程序都在FLASH中啟動,如果出現芯片進入低功耗模式或者禁用了調試端口,那么串口激活是唯一的辦法,所以建議設計產品的時候,BOOT0和BOOT1兩個引腳用0Ω電阻引出來。

1.2.5 VBAT供電

圖片

VBAT供電主要用于RTC和備份區域數據不丟失使用,當外部3.3V斷電之后,二極管D1處于截止狀態,此時D2負極處于電平,二極管D2正向導通,通過3V紐扣電池給VBAT供電,防止RTC和備份區域的數據丟失。

1.2.6 串口下載與SW仿真

圖片

圖片

STM32下載程序有兩種方式,一種是傳統的串口模式,通過BOOT0和BOOT1啟動系統存儲器,然后將程序燒寫進FLASH中,然后斷電,設置FLASH啟動后就可以啟動程序,還有一種特殊的方式,就是SW模式,SW模式一種單線FLASH燒寫模式,通過CLK和DATA兩根線,將程序直接燒寫進FLASH,并且通過這兩根線進行在線仿真,可以直接將CPU中所有寄存器的值全部實時讀取,用于簡化調試過程。這個功能是51單片機不會有的。

1.2.7 電源電路

圖片

STM32F103采用3.3V電源進行供電,但是一般USB接口或者充電寶都是輸出DC5V,這就需要一個LDO來進行電壓變換,將5V電壓轉換為3.3V電壓供STM32使用。

1.3 STM32工程創建

STM32的程序也是可以使用51的IDE編寫的,KEIL作為集成開發環境,現在已經可以大多數主流CPU,比如之前的51系列,這次的ST系列,還有NXP公司的iMX系列等,下面來說明如何使用KEIL來創建STM32程序。

STM32的工程不同于51的工程,需要好幾個文件來支持,由于這次創建的是空白工程,所以只需要創建主函數的c文件,啟動匯編文件,和STM32寄存器文件。

(1)安裝ARM版本的KEIL,從KEIL官網或者文中附帶的鏈接下載安裝包,安裝時記住不能有中文路徑,直接安裝即可。

(2)安裝STM32F1系列固件庫,從KEIL官網找到安裝包,下載后安裝(注:KEIL版本必須是ARM版本的,C51版本安裝不上)。

下載固件庫之后,雙擊安裝即可。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6040

    文章

    44592

    瀏覽量

    636886
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9121

    瀏覽量

    368236
  • Cortex
    +關注

    關注

    2

    文章

    203

    瀏覽量

    46532
  • 嵌入式控制
    +關注

    關注

    0

    文章

    37

    瀏覽量

    14530
收藏 人收藏

    評論

    相關推薦

    STM32F103入門系列

    學習板:STM32F103ZET6強推系列:STM32F103五分鐘入門系列(一)跑馬燈(庫函數+寄存器)+加編程模板+GPIO總結STM32F10
    發表于 08-17 09:03

    STM32F103如何搭建開發環境

    STM32F103如何搭建開發環境
    發表于 11-26 06:59

    基于STM32F103的振動監測系統設計

    基于STM32F103的振動監測系統設計。
    發表于 11-09 17:49 ?43次下載

    STM32F103封裝方式與功能配置

    本文介紹STM32F103封裝方式和STM32F103管腳功能的配置。
    發表于 08-03 17:44 ?2.2w次閱讀
    <b class='flag-5'>STM32F103</b>封裝方式與功能配置

    STM32F103使用總結

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

    stm32f103移植

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

    STM32F103教程之STM32F103單片機的使用心得資料免費下載

    本文檔的主要內容詳細介紹的是STM32F103教程之STM32F103單片機的使用心得資料免費下載目前很火的設計STM32教程。
    發表于 09-26 08:00 ?254次下載

    STM32F103 CAN模板程序

    STM32F103 CAN模板程序
    發表于 11-09 11:08 ?81次下載
    <b class='flag-5'>STM32F103</b> CAN模板程序

    stm32f030和stm32f103功能差異

    stm32f030和stm32f103功能差異主要表現在哪?
    的頭像 發表于 07-22 09:35 ?2.2w次閱讀

    STM32F103學習筆記三 串口通信

    STM32F103學習筆記三 串口通信
    發表于 11-25 09:06 ?71次下載
    <b class='flag-5'>STM32F103</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>三   串口通信

    STM32F103 模擬IIC時序

    STM32F103 模擬IIC時序
    發表于 11-25 09:51 ?35次下載
    <b class='flag-5'>STM32F103</b>  模擬IIC時序

    [筆記]|[stm32]|[寄存器存儲器區別]|[PWM]|[串口]|[Timer]stm32f103筆記

    [筆記]|[stm32]|[寄存器存儲器區別]|[PWM]|[串口]|[Timer]stm32f103筆記筆記為18.12.21筆者期末復
    發表于 12-06 18:51 ?10次下載
    [<b class='flag-5'>筆記</b>]|[<b class='flag-5'>stm32</b>]|[寄存器存儲器區別]|[PWM]|[串口]|[Timer]<b class='flag-5'>stm32f103</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的DAC功能

    三勺最近在學習STM32F103的DAC功能,本文主要解釋在配置DAC寄存器實現相應功能時遇到的一些問題。
    的頭像 發表于 10-24 16:00 ?2839次閱讀
    <b class='flag-5'>學習</b><b class='flag-5'>STM32F103</b>的DAC功能

    學習STM32F103的ADC功能

    三勺最近在學習STM32F103的ADC功能,居然連最簡單的獨立模式的單通道的電壓采集都不能實現,這就不能忍了,這是對智商的侮辱。
    的頭像 發表于 10-24 16:06 ?2312次閱讀
    <b class='flag-5'>學習</b><b class='flag-5'>STM32F103</b>的ADC功能
    主站蜘蛛池模板: 狠狠操精品视频| 国产午夜毛片一区二区三区| 国产伦子系列视频6| 国产美女在线精品免费观看| 国产一级特黄一级毛片| 俺也来俺也去俺也射| 欧美另类自拍| 国产片一级| 男人操女人在线观看| 亚洲综合区图片小说区| 韩国理伦片在线观看2828| 亚洲最大成人在线| 四虎在线最新地址4hu| 欧美性喷潮xxxx| 黄色a三级免费看| 波多野结衣在线免费视频| 亚洲精品久久久久午夜三| 日本免费黄色录像| 2021久久精品99精品久久| 日本免费黄色网址| 国产www在线播放| 亚洲视频二| 亚洲成人在线免费观看| 欧美在线小视频| 成人欧美一区二区三区视频| 天天操天天操天天干| 影院在线观看免费| 不卡视频一区| 日本中文字幕在线播放| 激情五月婷婷色| 天天摸天天操免费播放小视频| www.夜夜骑| 国产一区国产二区国产三区| 色婷婷六月| 国产精品毛片久久久久久久 | 亚洲91| 欧美色图亚洲激情| 在线免费看片a| 97国内精品久久久久久久影视| 激情婷婷在线| 欧美大片xxxxbbbb|