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

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

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

3天內不再提示

STM32系列MCU,寫寄存器Or利用固件庫

RTThread物聯網操作系統 ? 來源:未知 ? 作者:李倩 ? 2018-08-09 17:22 ? 次閱讀

寫在開頭的話:

最近心血來潮,打算重新撿起老本行,結果發現很多都忘記了。干脆重新開始學習,并做個從零開始的筆記了。

STM32系列MCU

STM32系列芯片包括F0/F1/F2/F3/F4/F7/L0/L1/L4/H7等系列芯片芯片。不同系列的芯片適用于不同的應用場景。F0/L0基于ARM Cortex?-M0,F1/F2/L1系列基于ARM Cortex?-M3,F3/F4/L4系列基于ARM Cortex?-M4,F7/H7基于ARM Cortex?-M7。L系列表示超低功耗,H表示超高性能(對應就是高功耗了),F就是個折中方案了,性能不錯,功耗也不高。

其他的先不管,F1系列芯片主要分類如下:

·超值型STM32F100 - 24 MHz CPU,具有電機控制和CEC功能

·基本型STM32F101 - 36 MHz CPU,具有高達1MB的Flash

·連接型STM32F102 – 48 MHz CPU具備USB FS device接口

·增強型STM32F103 - 72 MHz CPU,具有高達1MB的Flash、電機控制、USB和CAN

·互聯型STM32F105/107 - 72 MHz CPU,具有以太網MAC、CAN和USB 2.0 OTG

STM32型號的說明:以STM32F103RBT6這個型號的芯片為例,該型號的組成為7個部分,其命名規則如下:

具體信息可查閱網站https://www.stmcu.com.cn/。

RTT操作系統

官網的簡介:

RT-Thread是一款來自中國的開源嵌入式實時操作系統,由國內一些專業開發人員從2006年開始開發、維護,除了類似FreeRTOSUCOS的實時操作系統內核外,也包括一系列應用組件和驅動框架,如TCP/IP協議棧,虛擬文件系統,POSIX接口,圖形用戶界面,FreeModbus主從協議棧,CAN框架,動態模塊等,因為系統穩定,功能豐富的特性被廣泛用于新能源,電網,風機等高可靠性行業和設備上,已經被驗證是一款高可靠的實時操作系統。RT-Thread實時操作系統遵循GPLv2+許可證,實時操作系統內核及所有開源組件可以免費在商業產品中使用,不需要公布應用源碼,沒有任何潛在商業風險。

RT-Thread操作系統源碼風格與linux一致,在官方提供的源碼中,包含有諸多芯片的工程示例,LPC系列和STM32F系列的很多。再者RT-Thread代碼開源,又有那么詳細的資料,如果遇到官方bsp下沒有的芯片,對于動手能力強的同學,自己動手移植也比較方便。而且官方提供了詳細的中文文檔,對于英語不太好的同學簡直就是一個福音。而且,RT-Thread提供了豐富的組件,使用者可以非常方便的實現諸如GUI、網絡協議棧、Modbus甚至是SQLite數據庫等功能。后續使用的時候再細細體會它的強大之處了。

寄存器Or利用固件庫

嵌入式的編程,往下說就是操作MCU的寄存器。而固件庫就是函數的集合,固件庫函數的作用是向下負責與寄存器直接打交道,向上提供用戶函數調用的接口(API)。相對于固件庫的方式,直接寫寄存器的代碼更為簡潔,只需要對指定的寄存器進行需要的操作就可以了,但是對于STM32來說,寄存器多達數百個,記起來也是一件非常讓人頭疼的事情。ST推出了官方固件庫,固件庫將這些寄存器底層操作都封裝起來,提供一整套接口,你不需要去知道操作的是哪個寄存器,你只需要知道調用哪些函數即可。關于寫寄存器還是利用固件庫去開發哪個好,一直都有爭議,只能說存在即為合理,各有各的好處,我個人比較懶,不太喜歡去記那些寄存器都是啥。再者,我也不是專門搞STM32的,要是用寫寄存器的方式開發的話,過一段時間不弄,再回來估計又得花些時間對著文檔看了。所以在后續的博客,我也都會利用固件庫開發。當然,用不用是一回事兒,根據官網技術文檔,操作寄存器的方式是必須要會的。個人建議,還是需要學會看硬件文檔,看官方的技術資料,而不是遇到問題就百度。學會看官方的技術文檔后,遇到問題解決起來將會事半功倍。

點亮LED

點亮LED,首先自然是安裝Keil了。當然,使用其他工具也可以,對于我來說,我還是比較鐘情于Keil。我現在使用的是Keil5,編譯工具鏈為MDK-ARM v5.24。開發板為淘寶上找的便宜的不能再便宜的一塊STM32C8T6開發板,引腳都要自己焊。下載線為ST-Link v2。根據淘寶商提供的硬件資料,這個板子PB12連接了一個LED燈,LED另外一端連接了上拉電阻,即LED在PB12低電平時點亮。

廢話不說了,Keil的安裝和破解,網上多的是,隨便找個教程,走一走就完了。

第一步,創建工程

打開Keil后,首先需要創建個工程。點擊project->New μVision Project。

填寫工程名

選擇芯片,如果沒有你要的芯片,就需要到官網上去下載,然后安裝。

選擇需要用到的功能,Core、Startup和GPIO,可以看到下面有警告,GPIO依賴FrameWork和RCC,也要去勾選上就好了。

然后確定,工程就創建成功了。

第二步,增加main.c文件到工程中

點擊如下按鈕,創建一個新文件,并保存文件到工程目錄中。

點擊工程管理按鈕,管理工程

點擊Add Files 把main.c加入到Source Group 1下,Target 1和Source Group 1都可以修改,改成一個合適的名字。

第三部,編寫main.c 文件

#include"stm32f10x.h"

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

    關注

    242

    文章

    23277

    瀏覽量

    660848
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17148

    瀏覽量

    351186
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    355985

原文標題:STM32F103+RT-Thread從零開始(一)——點亮LED

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32使用固件還是直接寄存器編程

    最近看到初學者對于STM32是使用固件編程還是使用直接操作寄存器編程之間猶豫不決,現在自己也困惑其中。固件
    發表于 09-17 23:06

    怎么把寄存器編程封裝成固件編程

    基于野火“霸道”和“指南”——零死角玩轉STM32入門&中級篇學習地址:課程簡介:本課程從STM32內存映射開始講起,告訴你什么是寄存器,怎么樣實現寄存器編程,然后怎么把
    發表于 08-03 06:47

    基于寄存器固件stm32 LED流水燈實例分享

    基于寄存器固件stm32 LED流水燈實例分享
    發表于 12-02 06:10

    基于固件寄存器stm32程序編寫的區別

    一、基于固件寄存器stm32程序編寫的區別1.基于固件
    發表于 01-18 09:25

    寄存器固件STM32的串口通訊介紹

    文章目錄寄存器固件STM32的串口通訊1、程序2、硬件總結寄存器固件
    發表于 02-10 07:24

    基于寄存器與基于固件編程方式的差異

    stm32f103核心板串口通信入門一、 基于寄存器與基于固件編程方式的差異二、stm32串口通信1. 前期準備硬件軟件連接2.編寫程序并
    發表于 02-11 07:35

    如何用STM32固件來建立工程

    這節課主要給朋友們講解以下這幾個方面的內容: 1:如何學習 STM32 單片機; 2:STM32 的開發是用固件,還是用直接操作寄存器
    發表于 11-11 17:17 ?29次下載

    STM32 BSRR BRR ODR寄存器詳情解析

    BSRR 和 BRR 都是 STM32 系列 MCU 中 GPIO 的寄存器。 BSRR 稱為端口位設置/清楚寄存器,BRR稱為端口位**
    發表于 11-13 09:54 ?1.2w次閱讀

    STM32庫函數和寄存器應該如何操作

    ,32系列寄存器無論是個數還是實現功能時多個寄存器之間的調用配合,使用難度都高了不少,所以有了庫函數和相應的固件來減少難度。先說一下
    發表于 09-10 17:26 ?3次下載
    <b class='flag-5'>STM32</b>庫函數和<b class='flag-5'>寄存器</b>應該如何操作

    STM32四種對比:寄存器、標準外設、HAL、LL

    1.我是選擇寄存器開發STM32,還是標準外設呢? 2.你有STM32L0標準外設嗎? 3.HAL
    發表于 03-05 06:17 ?50次下載
    <b class='flag-5'>STM32</b>四種<b class='flag-5'>庫</b>對比:<b class='flag-5'>寄存器</b>、標準外設<b class='flag-5'>庫</b>、HAL、LL

    STM32學習記錄——固件目錄及文件介紹

    工程,需要先準備STM32芯片提供的庫函數,包括啟動的匯編文件,STM32寄存器宏定義,內核以及外設的寄存器操作函數等,按照以下目錄結構放置相應ST
    發表于 12-02 13:06 ?13次下載
    <b class='flag-5'>STM32</b>學習記錄——<b class='flag-5'>固件</b><b class='flag-5'>庫</b>目錄及文件介紹

    STM32學習筆記(2)——寄存器

    。計算機領域,包括通用寄存器、專用寄存器和控制寄存器寄存器擁有非常高的讀寫速度,所以在寄存器之間的數據傳送非常快。我們一般控制其中的控制
    發表于 12-08 17:36 ?18次下載
    <b class='flag-5'>STM32</b>學習筆記(2)——<b class='flag-5'>寄存器</b>

    STM32的USART串口通信(指令控制RGB彩燈)

    這里目錄標題一、寄存器與基于固件stm32 LED流水燈的差異二、STM32的USART窗
    發表于 12-24 18:56 ?6次下載
    <b class='flag-5'>STM32</b>的USART串口通信(指令控制RGB彩燈)

    寄存器與靜態

    實現初始化時鐘LED燈初始化LED燈閃爍三、庫函數例程0.準備階段1.目標任務拆分2.目標實現初始化時鐘LED燈初始化LED燈閃爍兩者比較前言讀者在學習8位單片機時是否經歷過記憶大量寄存器的經歷呢?在STM32中具有更多的寄存器
    發表于 01-13 12:43 ?3次下載
    <b class='flag-5'>寄存器</b>與靜態<b class='flag-5'>庫</b>

    STM32寄存器操作

    STM32寄存器操作在使用STM32單片機編程時一般都用ST給的庫函數編程,庫函數編程的底層就是對單片機寄存器的操作,庫函數就是一系列
    發表于 01-13 15:43 ?19次下載
    <b class='flag-5'>STM32</b>的<b class='flag-5'>寄存器</b>操作
    主站蜘蛛池模板: 亚洲高清国产一线久久| 四虎永久网址影院| 色图视频| 国产激烈床戏无遮挡观看| 天天干天天操天天射| xxxxxx日本老师hd68| 四虎成人精品在永久在线观看| 久久福利青草精品资源| 深夜免费在线视频| 欧美性色黄大片四虎影视| 色老头网址| 亚洲国产精品热久久2022| 看黄网站在线| 色婷婷久久合月综| 夜夜超b天天| 456亚洲人成影院在线观| 色综合久久网| 亚洲国产成人久久午夜| 色中色资源| 欧美性受xxxx极品| 色女仆影院| 中文天堂最新版在线中文| 激情四月婷婷| 97国内精品久久久久久久影视| 亚洲精品成人久久久影院| 国产女主播在线播放一区二区| 国产福利观看| 四虎影院在线免费播放| 在线播放国产不卡免费视频| 18videosex欧美69| 欧美色图在线视频| 久久国产视频网站| 亚洲 欧美 自拍 另类| 4hu影院最新地址www| 亚洲第一区视频| 精品国内视频| 在线视频永久在线视频| 三级国产在线| 猛操在线| 色无五月| 免费一级特黄欧美大片勹久久网|