91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)智云Gokit3開(kāi)發(fā)篇 — 搭建Gokit3工程(HAL庫(kù)版)

機(jī)智云 ? 2026-01-08 19:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在當(dāng)今物聯(lián)網(wǎng)時(shí)代,越來(lái)越多的開(kāi)發(fā)者希望能夠快速上手并實(shí)現(xiàn)創(chuàng)新的產(chǎn)品與應(yīng)用。機(jī)智云Gokit3開(kāi)發(fā)板因其易用性和豐富功能受到初學(xué)者的青睞。該開(kāi)發(fā)板核心主控采用了高性價(jià)比的STM32F103C8T6微控制器,支持多種開(kāi)發(fā)環(huán)境,使學(xué)習(xí)與開(kāi)發(fā)變得更加便捷。


本文將帶您從零基礎(chǔ)開(kāi)始,逐步搭建Gokit3的HAL庫(kù)工程,并通過(guò)簡(jiǎn)單的點(diǎn)燈實(shí)驗(yàn),讓您感受開(kāi)發(fā)的樂(lè)趣。在這個(gè)過(guò)程中,我們將學(xué)習(xí)如何使用STM32的HAL庫(kù),掌握基本的開(kāi)發(fā)流程,為后續(xù)更復(fù)雜的項(xiàng)目打下堅(jiān)實(shí)的基礎(chǔ)。

文章結(jié)尾附本文章源碼、原理圖資料鏈接。


01硬件清單


Gokit3 開(kāi)發(fā)板(核心:STM32F103C8T6)

Micro USB 數(shù)據(jù)線(供電 / 下載)

ST-Link 下載器(若板子自帶則無(wú)需額外,Gokit3 一般集成了 ST-Link)


軟件清單

軟件名稱

l STM32CubeMX----可視化配置工程、生成 HAL 庫(kù)代碼

官網(wǎng)下載鏈:(https://www.st.com/en/development-tools/stm32cubemx.html);

安裝時(shí)需下載STM32F1 系列固件包(CubeMX 內(nèi)可直接下載);

l Keil MDK-ARM V5代碼編譯、下載調(diào)試

下載V5 版本(需兼容 F1 系列);

安裝對(duì)應(yīng)芯片包(STM32F1xx_DFP);

需破解(新手可自行找教程,注意選擇支持F1 的許可證)。


02開(kāi)始搭建工程


1、步驟1:STM32CubeMX 新建工程


介紹:STM32CubeMX 是 ST 官方的可視化配置工具,能極大簡(jiǎn)化 HAL 庫(kù)工程搭建,新手不用手動(dòng)配置寄存器,效率拉滿


打開(kāi)CubeMX,選擇芯片型號(hào)

雙擊打開(kāi)STM32CubeMX,點(diǎn)擊主界面的 “New Project”;



37891770-ec83-11f0-8ce9-92fbcf53809c.png



在“Part Number Search” 搜索框輸入 STM32F103C8T6,選中搜索結(jié)果中的芯片(注意區(qū)分 LQFP48 封裝),點(diǎn)擊 “Start Project”;



37996fe4-ec83-11f0-8ce9-92fbcf53809c.png


2、步驟 2:基礎(chǔ)配置(時(shí)鐘 / 調(diào)試接口

(1)配置調(diào)試接口(必須,否則無(wú)法下載程序)

點(diǎn)擊左側(cè)菜單欄“System Core” → “SYS”;

右側(cè)“Debug” 選項(xiàng)選擇 “Serial Wire”(SWD 模式,占用引腳少,Gokit3自帶SWD燒錄接口);



37ad6ee0-ec83-11f0-8ce9-92fbcf53809c.png



(2)配置時(shí)鐘源和時(shí)鐘樹(shù)(決定系統(tǒng)主頻)

Gokit3 的 STM32F103C8T6 外接 8MHz 晶振(HSE),我們配置系統(tǒng)主頻為 72MHz(F103 的最大主頻):


點(diǎn)擊左側(cè)“RCC”;

右側(cè)“High Speed External (HSE)” 選擇 “Crystal/Ceramic Resonator”(外部晶振);


37c8e10c-ec83-11f0-8ce9-92fbcf53809c.png



點(diǎn)擊頂部菜單欄“Clock Configuration”(時(shí)鐘配置);

配置時(shí)鐘樹(shù):

HSE 設(shè)為 8MHz;

PLLSRC 選擇 HSE;

PLLMUL 選擇 x9(8*9=72MHz);

HCLK 選擇 72MHz;

PCLK1 選擇 36MHz(APB1 最大 36MHz);

PCLK2 選擇 72MHz;


37f4261e-ec83-11f0-8ce9-92fbcf53809c.png37f4261e-ec83-11f0-8ce9-92fbcf53809c.png



3、步驟3:配置 LED 引腳(Gokit3 硬件對(duì)應(yīng))

先查 Gokit3 原理圖:有4個(gè)LED 正極接PB1、PB11、PB14、PB15 引腳(高電平點(diǎn)亮,低電平熄滅)原理圖如下:



382919f0-ec83-11f0-8ce9-92fbcf53809c.png




3846f542-ec83-11f0-8ce9-92fbcf53809c.png



配置如下:(我們以LED1為例)

點(diǎn)擊左側(cè)“GPIO”;

在引腳列表中找到 PB1,點(diǎn)擊下拉菜單:

Mode 選擇 “Output Push Pull”(推挽輸出);

Pull-up/Pull-down 選擇 “Pull down”(下拉,默認(rèn)低電平,LED 滅);

Speed 選擇 “Low”(低速即可,LED 無(wú)需高速);

可給 PB0 重命名(方便識(shí)別):在 “User Label” 欄輸入 LED0,后續(xù)代碼中可直接用這個(gè)別名。



38859f2c-ec83-11f0-8ce9-92fbcf53809c.png



STM32F103C8T6 的 GPIO 外設(shè)支持八種工作模式,可分為輸入模式、輸出模式、復(fù)用輸出模式三大類

這里介紹GPIO的八種模式


輸入浮空(GPIO_Mode_IN_FLOATING)

輸入上拉(GPIO_Mode_IPU)

輸入下拉(GPIO_Mode_IPD)

模擬輸入(GPIO_Mode_AIN)

開(kāi)漏輸出(GPIO_Mode_Out_OD)

推挽輸出(GPIO_Mode_Out_PP)

復(fù)用開(kāi)漏輸出(GPIO_Mode_AF_OD)

復(fù)用推挽輸出(GPIO_Mode_AF_PP)


4、步驟4:生成工程代碼

點(diǎn)擊頂部菜單欄“Project Manager”;

配置項(xiàng)目基本信息:

Project Name:輸入工程名(如Gokit3_LED_HAL);

Project Path:選擇保存路徑(這里推薦全英文路徑,兼容性問(wèn)題);

Toolchain/IDE:選擇 “MDK-ARM”;



38adbeee-ec83-11f0-8ce9-92fbcf53809c.png



配置代碼生成選項(xiàng):

勾選“Generate peripheral initialization as a pair of '.c/.h' files per peripheral”(按外設(shè)生成獨(dú)立的.c/.h 文件,代碼更整潔);

其他默認(rèn)即可;

點(diǎn)擊右上角“GENERATE CODE”,等待代碼生成完成,然后點(diǎn)擊 “Open Project” 自動(dòng)打開(kāi) Keil 工程。



38d4ddf8-ec83-11f0-8ce9-92fbcf53809c.png


03Keil 工程配置與代碼編寫

1、步驟 1:編寫點(diǎn)燈代碼(核心邏輯)

STM32CubeMX 生成的代碼已包含 HAL 庫(kù)底層驅(qū)動(dòng),我們只需在main.c中添加點(diǎn)燈邏輯即可:

打開(kāi)Core/main.c文件,找到while(1)循環(huán)(約 95 行左右);

在while(1)中添加如下代碼:

HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_1);

HAL_Delay(500);



38e9d58c-ec83-11f0-8ce9-92fbcf53809c.png



完整main.c關(guān)鍵片段參考:

@font-face{font-family:"Times New Roman";}@font-face{font-family:"宋體";}@font-face{font-family:"Calibri";}p.MsoNormal{mso-style-name:正文;mso-style-parent:"";margin:0pt;margin-bottom:.0001pt;mso-pagination:none;text-align:justify;text-justify:inter-ideograph;font-family:Calibri;mso-fareast-font-family:宋體;mso-bidi-font-family:'Times New Roman';font-size:10.5000pt;mso-font-kerning:1.0000pt;}span.msoIns{mso-style-type:export-only;mso-style-name:"";text-decoration:underline;text-underline:single;color:blue;}span.msoDel{mso-style-type:export-only;mso-style-name:"";text-decoration:line-through;color:red;}@page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@pageSection0{}div.Section0{page:Section0;}intmain(void){ /* 1. 初始化HAL庫(kù) */ HAL_Init(); /* 2. 配置系統(tǒng)時(shí)鐘(CubeMX自動(dòng)生成) */ SystemClock_Config(); /* 3. 初始化外設(shè)(CubeMX自動(dòng)生成,包含PB0) */ MX_GPIO_Init(); /* 4. 主循環(huán) */ while (1) {/* 點(diǎn)燈核心代碼:LED0(PB0)翻轉(zhuǎn)電平,間隔500ms閃爍 */HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_1); // 翻轉(zhuǎn)PB0電平(亮→滅/滅→亮)HAL_Delay(500); // 延時(shí)500ms(HAL庫(kù)自帶延時(shí)函數(shù),單位ms) }}


代碼解釋


HAL_Init():初始化 HAL 庫(kù)核心組件(如 SysTick 定時(shí)器,用于HAL_Delay);

SystemClock_Config():CubeMX 自動(dòng)生成的時(shí)鐘配置函數(shù),對(duì)應(yīng)我們之前設(shè)置的 72MHz 主頻;

MX_GPIO_Init():初始化 GPIO(包含 PB0 的輸出配置);

HAL_GPIO_TogglePin():HAL 庫(kù) GPIO 電平翻轉(zhuǎn)函數(shù),參數(shù) 1=GPIO 端口(GPIOB),參數(shù) 2 = 引腳(GPIO_PIN_0);

HAL_Delay():HAL 庫(kù)毫秒級(jí)延時(shí)函數(shù),底層基于 SysTick 定時(shí)器實(shí)現(xiàn)。


2、步驟 2:下載程序到 Gokit3:

不會(huì)燒錄下載的可以此文章

鏈接:

《機(jī)智云Gokit3開(kāi)發(fā)篇》1如何給Gokit3燒錄程序(MCU+ST-Link版)-GoKit 開(kāi)源套件-開(kāi)源項(xiàng)目及賽事-機(jī)智云


3、步驟 3:驗(yàn)證效果

此時(shí)Gokit3 上的LED 1會(huì)以 500ms 為間隔循環(huán)閃爍,STM32 HAL 庫(kù)工程搭建成功,點(diǎn)燈實(shí)例也成功跑起來(lái)。



3913b384-ec83-11f0-8ce9-92fbcf53809c.png


通過(guò)本次介紹,我們從零基礎(chǔ)開(kāi)始成功搭建了Gokit3的HAL庫(kù)工程,并完成了簡(jiǎn)單的點(diǎn)燈實(shí)驗(yàn),體驗(yàn)了開(kāi)發(fā)的樂(lè)趣與成就感。希望這篇文章能夠?yàn)槟腟TM32學(xué)習(xí)之旅提供幫助,并激發(fā)您在物聯(lián)網(wǎng)開(kāi)發(fā)領(lǐng)域的探索興趣。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)智云
    +關(guān)注

    關(guān)注

    3

    文章

    647

    瀏覽量

    27769
  • Gokit
    +關(guān)注

    關(guān)注

    2

    文章

    15

    瀏覽量

    12970
  • HAL
    HAL
    +關(guān)注

    關(guān)注

    2

    文章

    75

    瀏覽量

    13668
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    機(jī)智Gokit3開(kāi)發(fā)》4 RGB燈的介紹與驅(qū)動(dòng)移植(HAL庫(kù)

    在物聯(lián)網(wǎng)開(kāi)發(fā)與STM32嵌入式應(yīng)用實(shí)踐中,RGB燈是實(shí)現(xiàn)可視化交互、狀態(tài)指示的常用外設(shè),而機(jī)智Gokit3開(kāi)發(fā)板作為物聯(lián)網(wǎng)
    的頭像 發(fā)表于 01-28 19:11 ?5067次閱讀
    《<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>Gokit3</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>篇</b>》4 RGB燈的介紹與驅(qū)動(dòng)移植(<b class='flag-5'>HAL</b><b class='flag-5'>庫(kù)</b>)

    GoKit3(S)】Gokit3開(kāi)箱及介紹

    `Gokit3機(jī)智Gokit2后推出的第三代物聯(lián)網(wǎng)智能硬件開(kāi)發(fā)套件,它可以快速的幫助開(kāi)發(fā)
    發(fā)表于 08-25 16:29

    Gokit 3試用體驗(yàn)】Gokit3開(kāi)箱報(bào)告

    ``  2016年8月13日中午從傳達(dá)室取到機(jī)智提供試用的GoKit套件,拆開(kāi)后給人的第一印象是精致,連接線單獨(dú)存放,亞克力盒子里是Gokit3(V)型套件。有點(diǎn)小遺憾,亞克力盒子可
    發(fā)表于 08-29 11:05

    Gokit3試用體驗(yàn)】1、開(kāi)箱評(píng)測(cè)

    Gokit3機(jī)智Gokit2后推出的第三代物聯(lián)網(wǎng)智能硬件開(kāi)發(fā)套件,它可以快速的幫助開(kāi)發(fā)者將
    發(fā)表于 09-26 11:10

    如何使用機(jī)智開(kāi)發(fā)一款智能硬件產(chǎn)品

    ”...第6:【原創(chuàng)】【魅力Gokit3】序列之6:搭建編譯環(huán)境第7:【原創(chuàng)】【魅力Gokit3】序列之7:LED單燈閃爍商用案例:【成
    發(fā)表于 12-26 15:56

    每周精選:Gokit3S開(kāi)發(fā)攻略、低成本SOC開(kāi)發(fā)(1月9日)

    /thread-4438-1-1.html從0開(kāi)始玩轉(zhuǎn)Gokit3 SOC(1)簡(jiǎn)介、開(kāi)發(fā)環(huán)境搭建、固件燒錄http://club.gizwits.com/thread-4377-1-1.html我愛(ài)分享:基于
    發(fā)表于 01-11 14:46

    GoKit3采用分體式可插拔的設(shè)計(jì)方案

    GoKit3機(jī)智推出的物聯(lián)網(wǎng)智能硬件開(kāi)發(fā)套件,采用分體式可插拔設(shè)計(jì)方案,由主控板、功能擴(kuò)展板、模組三部分組成,這種設(shè)計(jì)方式,讓GoKit3
    發(fā)表于 09-10 08:25

    4G模組接入機(jī)智gokit3開(kāi)發(fā)

    準(zhǔn)備內(nèi)容:1.機(jī)智Gokit3開(kāi)發(fā)板一塊(MCU模式),機(jī)智
    發(fā)表于 10-31 19:55

    通過(guò)機(jī)智GoKit3開(kāi)發(fā)套件實(shí)現(xiàn)手機(jī)APP的遠(yuǎn)程控制

    GoKit3(S)是機(jī)智(GizWits)推出的物聯(lián)網(wǎng)智能硬件開(kāi)發(fā)套件之一,目的是幫助傳統(tǒng)硬件快速接入互聯(lián)網(wǎng)。
    的頭像 發(fā)表于 06-05 06:07 ?3731次閱讀

    機(jī)智推出基于物聯(lián)網(wǎng)智能硬件開(kāi)發(fā)套件GoKit3

    GoKit3機(jī)智推出的物聯(lián)網(wǎng)智能硬件開(kāi)發(fā)套件,采用分體式可插拔設(shè)計(jì)方案,由主控板、功能擴(kuò)展板、模組三部分組成,這種設(shè)計(jì)方式,讓GoKit3
    的頭像 發(fā)表于 08-16 09:34 ?5063次閱讀

    gokit3是如何接入4G模組ML302-GC211轉(zhuǎn)接板的

    到此教程結(jié)束,本次教程采用機(jī)智gokit3機(jī)智GC211模組實(shí)現(xiàn)開(kāi)發(fā)板移動(dòng)網(wǎng)絡(luò)接入,方便用
    的頭像 發(fā)表于 07-03 16:10 ?2461次閱讀

    GoKit3的硬件電路原理

    很多人拿到開(kāi)發(fā)板的第一件事情應(yīng)該是:寫入demo,看看效果。但是我覺(jué)得還是應(yīng)該把別人好的設(shè)計(jì)拿過(guò)來(lái)學(xué)習(xí),對(duì)產(chǎn)品的原理弄清楚了,在進(jìn)行下一步會(huì)更加清晰明白,知道如何開(kāi)發(fā)?,F(xiàn)在開(kāi)始學(xué)習(xí)GoKit3的硬件電路原理學(xué)習(xí)之旅吧。
    發(fā)表于 08-25 10:45 ?1585次閱讀

    機(jī)智Gokit3測(cè)評(píng)】Gokit3硬件電路學(xué)習(xí)

    GoKit3的硬件電路原理學(xué)習(xí)之旅吧。GoKit3是什么?GoKit3機(jī)智(GizWits)推出的物聯(lián)網(wǎng)智能硬件
    的頭像 發(fā)表于 08-26 11:14 ?1983次閱讀
    【<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>Gokit3</b>測(cè)評(píng)】<b class='flag-5'>Gokit3</b>硬件電路學(xué)習(xí)

    機(jī)智Gokit3開(kāi)發(fā):ST-Link燒錄MCU程序操作詳解

    本文主要介紹如何為機(jī)智Gokit3的MCU模式進(jìn)行程序燒錄(ST-Link版)。由于Gokit3底板采用的是STM32芯片,針對(duì)ST的MCU,推薦使用以下兩種燒錄方式。首先,使用ST
    的頭像 發(fā)表于 12-17 18:46 ?449次閱讀
    <b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>Gokit3</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>篇</b>:ST-Link燒錄MCU程序操作詳解

    如何給Gokit3燒錄程序(MCU+FlyMcu版)

    在本文中,我們將詳細(xì)講解如何為機(jī)智Gokit3MCU模式進(jìn)行程序燒錄,特別是針對(duì)FlyMcu版本的應(yīng)用。本次燒錄采用了串口方式,這是給MCU燒錄程序的常用方法之一。借助FlyMcu軟件,我們可以
    的頭像 發(fā)表于 12-17 18:46 ?436次閱讀
    如何給<b class='flag-5'>Gokit3</b>燒錄程序(MCU+FlyMcu版)