當(dāng)前位置:首頁 > 公眾號精選 > 程序員小哈
[導(dǎo)讀]學(xué)習(xí)目標(biāo) STM32F103C8T6芯片簡介 核心板原理圖 搭建流水燈電路 修改工程模板 代碼實現(xiàn) 成果展示 資料獲取 推薦閱讀 后臺網(wǎng)友建議制作一個流水燈,正好發(fā)現(xiàn)自己有之前購買的STM32F103C8T6核心板,今天搭建一個流水燈,正好學(xué)習(xí)一下STM32 GPIO輸出如何實現(xiàn),將

  • 學(xué)習(xí)目標(biāo)

  • STM32F103C8T6芯片簡介

  • 核心板原理圖

  • 搭建流水燈電路

  • 修改工程模板

  • 代碼實現(xiàn)

  • 成果展示

  • 資料獲取

  • 推薦閱讀



后臺網(wǎng)友建議制作一個流水燈,正好發(fā)現(xiàn)自己有之前購買的STM32F103C8T6核心板,今天搭建一個流水燈,正好學(xué)習(xí)一下STM32 GPIO輸出如何實現(xiàn),將來驅(qū)動蜂鳴器、繼電器等都會使用的。


流水燈相當(dāng)于計算機(jī)語言中的“Hello World”,照著做一遍,實現(xiàn)了它,基本你就入門了。


學(xué)習(xí)目標(biāo)

  • STM32F103C8T6最小系統(tǒng)板的使用

  • 面包板搭建流水燈電路的方法

  • 將STM32F103RCT6工程模板修改為STM32F103C8T6的工程模板

  • 熟悉STM32 單片機(jī)GPIO作為輸出的使用方法


STM32F103C8T6芯片簡介

根據(jù)STM32&STM8產(chǎn)品型號命名規(guī)則(參考:STM32單片機(jī)最小系統(tǒng)詳解)可知:
STM32F103C8T6這個命名中:

  • STM32代表STM32家族,32位MCU;

  • F代表產(chǎn)品類型為基礎(chǔ)型;

  • 103代表特定功能為STM32基礎(chǔ)型;

  • C代表引腳數(shù)為48&49引腳;

  • 8代表內(nèi)存容量為64KB;

  • T代表封裝為QFP;

  • 6代表溫度范圍為-40到+85℃。


核心板原理圖


通過原理圖我們可知:

  • 板子供電有兩種方式:

  1. 通過U3 USB-micro接口提供5V供電,然后經(jīng)過板載的LDO芯片轉(zhuǎn)為VCC3V3;

  2. 通過P2 接口,即SWD下載接口中的VCC3V3給核心板供電。

  • 核心板上有兩個LED,其中一個為電源指示燈PWR,另外一個LED與PC13引腳相連,當(dāng)PC13置高時,LED滅;當(dāng)PC13置低時,LED亮;

  • 核心板上的跳線是為了選擇啟動模式使用。我們?yōu)榱俗尦绦蛞灾鏖W存存儲器作為啟動區(qū)域,需要將BOOT0置低,BOOT1隨意,此種啟動模式是最常用的用戶FLASH啟動,為默認(rèn)啟動模式;

  • 核心板上的按鍵為RESET復(fù)位按鍵;

  • P2接口為SWD下載模式對應(yīng)的引腳接口;


  • 搭建流水燈電路

    1. 準(zhǔn)備元器件

    注意:
    電阻使用的是2K,作為限流使用;
    LED注意正負(fù)極,直插發(fā)光二極管,引腳長的為正極,短的為負(fù)極;如果引腳被剪過了,一樣長了,查看發(fā)光二極管管體內(nèi)部金屬極大小,金屬極較小的是正極,大的片狀的是負(fù)極。

    1. 搭建電路
      按照如下原理圖搭建電路


    搭建完畢效果圖


    修改工程模板

    在基于STM32固件庫的MDK5工程建立基礎(chǔ)上,將STM32F103RCT6工程模板修改為STM32F103C8T6的工程模板。

    修改點(diǎn):

    1. 替換啟動文件,將startup_stm32f10x_hd.s更換為startup_stm32f10x_md.s,startup_stm32f10x_md.s為中等容量產(chǎn)品使用的啟動文件,對應(yīng)FLASH的大小范圍為:64K≤FLASH≤128K。



    1. 修改全局宏定義,將STM32F10X_HD修改為STM32F10X_MD。



    1. 更改使用的芯片型號



    1. 設(shè)置下載的Flash容量


    注意:
    網(wǎng)上說STM32F103C8T6和STM32F103CBT6 是在同一圓晶上制造的,但測試時,只測試手冊提供的參數(shù)范圍所包含的內(nèi)容,也就意味著 STM32F103C8T6也是128k Flash,只不過只測試了前面64k,然后打上 STM32F103C8T6標(biāo)注(當(dāng)然內(nèi)部就寫上 C8T6 的 ID);所以我們在添加Flash的時候,只能找到128K的STM32F103,而找不到64K的Flash。


    代碼實現(xiàn)

    1. 設(shè)置PA5、PA6、PA7為輸出

    GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);


    1. 初始化GPIO為高電平,高電平的時候,LED滅

    GPIO_SetBits(GPIOA,GPIO_Pin_5);GPIO_SetBits(GPIOA,GPIO_Pin_6);GPIO_SetBits(GPIOA,GPIO_Pin_7);


    1. 流水燈代碼具體實現(xiàn)

    #include "stm32f10x.h"
    void Delay(u32 count){ u32 i=0; for(;i<count;i++);}
    int main(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_SetBits(GPIOA,GPIO_Pin_5); GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_SetBits(GPIOA,GPIO_Pin_7); while(1) { GPIO_ResetBits(GPIOA,GPIO_Pin_5); GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_SetBits(GPIOA,GPIO_Pin_7); Delay(1000000);Delay(1000000);Delay(1000000); GPIO_SetBits(GPIOA,GPIO_Pin_5); GPIO_ResetBits(GPIOA,GPIO_Pin_6); GPIO_SetBits(GPIOA,GPIO_Pin_7); Delay(1000000);Delay(1000000);Delay(1000000); GPIO_SetBits(GPIOA,GPIO_Pin_5); GPIO_SetBits(GPIOA,GPIO_Pin_6); GPIO_ResetBits(GPIOA,GPIO_Pin_7); Delay(1000000);Delay(1000000);Delay(1000000); }}


    成果展示


    資料獲取

    微信公眾號后臺回復(fù)“流水燈”,可以下載工程源碼。
    微信公眾號后臺回復(fù)“STM32F103核心板”,可以下載STM32F103C8T6核心板資料


    推薦閱讀

    STM32單片機(jī)最小系統(tǒng)詳解

    基于STM32固件庫的MDK5工程建立

    修改Keil工程名稱并添加其他模塊文件




    喜歡請關(guān)注微信公眾號:程序員小哈
    若覺得本次分享的文章對您有幫助,隨手點(diǎn)[在看]并轉(zhuǎn)發(fā)分享,也是對我的支持。




    公眾號內(nèi)容面向在校大學(xué)生、電子愛好者、嵌入式工程師;
    涉及電子制作、模塊使用、單片機(jī)技術(shù)、物聯(lián)網(wǎng)相關(guān)知識分享;
    軟硬件全棧工程師,玩模塊,學(xué)硬件,帶你從0走到1

    ?

    免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

    本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
    換一批
    延伸閱讀

    9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

    關(guān)鍵字: 阿維塔 塞力斯 華為

    加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

    關(guān)鍵字: AWS AN BSP 數(shù)字化

    倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

    關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

    北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

    關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

    8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

    關(guān)鍵字: 騰訊 編碼器 CPU

    8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

    關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

    8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

    關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

    要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

    關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

    北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

    關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

    北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

    關(guān)鍵字: BSP 信息技術(shù)
    關(guān)閉
    關(guān)閉