99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

教程:只需六步,將Hal庫移植到標(biāo)準(zhǔn)庫

9GxC_IoTMaker ? 來源:未知 ? 作者:胡薇 ? 2018-06-12 10:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

手頭上正好有STM32的開發(fā)板和ESP-12E模塊,想著控制個WS2812玩玩。到MCU開發(fā)的時候下載了生成的代碼發(fā)現(xiàn)是HAL庫的,無奈自己剛剛學(xué)習(xí)stm32,用的是標(biāo)準(zhǔn)庫這里參考了官方的移植MSP340教程并修改出適用于STM32標(biāo)準(zhǔn)庫的教程。

步驟1、下載好的代碼包是這樣的,需要把這兩個文件夾直接復(fù)制到自己工程的文件夾里面:

步驟2、添加到自己的工程組里面,并添加路徑:

步驟3、正題來了,現(xiàn)在開始移植工作,需要修改的文件分別如下:3.1、打開gizwits_product.h需要修改的地方如下,查看代碼行數(shù)可以快速找到)

3.2、打開gizwits_product.c,需要修改的地方如下:

下面刪除的幾個初始化函數(shù)很重要...必須自己寫好,要能正常使用

接下來是串口發(fā)送函數(shù),我用的是DMA+中斷發(fā)送接收的,修改成能發(fā)送數(shù)據(jù)的函數(shù)..建議先把串口功能調(diào)試好在填入調(diào)用

int32_t uartWrite(uint8_t *buf, uint32_t len)

{

uint32_t i = 0;

if(NULL == buf)

{

return -1;

}

for(i=0; i

{

//這里填入串口發(fā)送函數(shù)

TxBuff_esp8266[i]=*buf++;

/* if(i >=2 && buf[i] == 0xFF)

{

//這里填入串口發(fā)送函數(shù),發(fā)送0x55,意思是遇到0xFF后面要加0x55

//這地方折騰了很久才成功,官方的大神說要加上,但是我刪除了也可以用,求解釋

//官方說是要求加上的..我直接刪除了也能用,你們要是這里加了不行的話也刪掉試試

}*/

修改好了記得保存。

步驟4、接下來打開main.c文件添加自己的初始化代碼,并且調(diào)用gizwits的相關(guān)函數(shù)記得把這兩個頭文件包含進去

#include "gizwits_product.h"

#include "common.h"

我的初始化函數(shù)是自己封裝的,比較簡陋,反正功能能實現(xiàn)就行了步驟5、修改中斷函數(shù)

接下來就是編譯了,要是有錯誤的地方看一下是不是外部函數(shù)調(diào)用的時候沒有包含進函數(shù)所在的頭文件。步驟6、打開gizwits_product.c,找到gizwitsEventProcess的函數(shù),下面那里有你添加的數(shù)據(jù)點,可以添加自己想要的功能。

舉個栗子我的是控制WS2812,直接在里面調(diào)用WS2812的亮燈函數(shù),把讀到的數(shù)據(jù)顏色數(shù)據(jù)填入就可以了

移植的步驟大概就是這么多,試了一下燒錄了進去確實可以用app控制。還有很多功能沒有調(diào)試,剩下的功能要去參考其他大神的了。靜靜的做一名的伸手黨。

要是有什么錯誤的地方請指正,我也是這兩天剛剛琢磨出來,希望能互相學(xué)習(xí)。誒,那個,第一次寫教程,stm32也剛接觸沒多久,水平有限,有什么寫得不好或者錯了的地方請告之改正。

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

    關(guān)注

    146

    文章

    17970

    瀏覽量

    366592
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11031

    瀏覽量

    364733

原文標(biāo)題:官方生成的MCU代碼(hal庫)移植到標(biāo)準(zhǔn)庫的STM32教程

文章出處:【微信號:IoTMaker,微信公眾號:機智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    STM32F4標(biāo)準(zhǔn)外設(shè)資料

    stm32f4xx.h,標(biāo)準(zhǔn)外設(shè)
    發(fā)表于 06-08 09:49 ?0次下載

    基于STM32 HAL標(biāo)準(zhǔn)的esp8266接入機智云方案(二)

    在《基于STM32HAL標(biāo)準(zhǔn)的esp8266接入機智云方案(一)》中,我們詳細(xì)介紹了硬件連接和機智云客戶端的創(chuàng)建。本篇重點講解如何下
    的頭像 發(fā)表于 05-28 18:02 ?467次閱讀
    基于STM32 <b class='flag-5'>HAL</b><b class='flag-5'>庫</b>與<b class='flag-5'>標(biāo)準(zhǔn)</b><b class='flag-5'>庫</b>的esp8266接入機智云方案(二)

    STM32已經(jīng)用標(biāo)準(zhǔn)寫好的代碼,怎么導(dǎo)入RT THREAD?

    之前已經(jīng)在裸機上實現(xiàn)了SAE J1939協(xié)議,因為要添加IOT 功能,現(xiàn)在想添加RT THREAD.因為之前寫裸機程序的時候用的是標(biāo)準(zhǔn)。而RT THREAD STUDIO自動生成的是HAL
    發(fā)表于 05-27 06:01

    PCB標(biāo)準(zhǔn)封裝文件

    PCB標(biāo)準(zhǔn)封裝文件
    發(fā)表于 05-22 17:43 ?3次下載

    求助,求STM32C011J4x STM32C011J6x的標(biāo)準(zhǔn)?

    一直用的標(biāo)準(zhǔn),發(fā)現(xiàn)C0沒有標(biāo)準(zhǔn),都是HAL的,真的用不習(xí)慣、
    發(fā)表于 03-10 08:20

    HAL標(biāo)準(zhǔn)你會選擇哪種

    HAL標(biāo)準(zhǔn)你會選擇哪種
    發(fā)表于 03-10 06:25

    如何HAL轉(zhuǎn)為LL?

    怎么HAL轉(zhuǎn)為LL
    發(fā)表于 03-10 06:08

    HAL在Arduino平臺上的使用

    ,適合于快速原型開發(fā)和教育。HAL(硬件抽象層)是一種在Arduino平臺上使用的軟件,它提供了一種標(biāo)準(zhǔn)化的方式來訪問硬件功能,使得開發(fā)者可以編寫更通用、更可
    的頭像 發(fā)表于 12-02 14:04 ?1614次閱讀

    HAL標(biāo)準(zhǔn)的區(qū)別 HAL與CMSIS的關(guān)系

    在嵌入式系統(tǒng)開發(fā)中,HAL(硬件抽象層)標(biāo)準(zhǔn)是兩種常用的軟件,它們在功能和使用場景上有所不同。 1.
    的頭像 發(fā)表于 12-02 14:02 ?3240次閱讀

    HAL的函數(shù)調(diào)用示例

    HAL(Hardware Abstraction Layer,硬件抽象層)是STM32等微控制器中常用的,它為開發(fā)者提供了訪問和控制硬件設(shè)備的接口。以下是一些常用的HAL庫函數(shù)及其
    的頭像 發(fā)表于 12-02 14:01 ?1584次閱讀

    HAL在STM32開發(fā)中的重要性

    HAL(Hardware Abstraction Layer Library,硬件抽象層)在STM32開發(fā)中扮演著至關(guān)重要的角色。以下是HAL
    的頭像 發(fā)表于 12-02 13:35 ?1328次閱讀

    如何快速入門HAL編程 HAL與裸機編程的比較

    如何快速入門HAL編程 要快速入門HAL編程,可以遵循以下步驟: 了解基礎(chǔ)知識 : 掌握C語言編程基礎(chǔ),包括變量、數(shù)據(jù)類型、函數(shù)、指針等。 了解嵌入式系統(tǒng)的基本概念,如微控制器、中
    的頭像 發(fā)表于 12-02 11:39 ?1117次閱讀

    HAL在嵌入式系統(tǒng)中的應(yīng)用

    HAL是一種在嵌入式開發(fā)中用于屏蔽底層硬件細(xì)節(jié)、提供統(tǒng)一接口的軟件層。它允許開發(fā)者在編寫應(yīng)用程序時無需關(guān)心具體的硬件實現(xiàn),從而提高了代碼的可移植性和復(fù)用性。HAL
    的頭像 發(fā)表于 12-02 11:32 ?2072次閱讀

    第12章-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細(xì)講解+HAL

    第12章-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細(xì)講解+HAL
    的頭像 發(fā)表于 08-21 16:31 ?5298次閱讀
    第12章-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細(xì)講解+<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>)

    六步換相法pwm控制bldc電機,電機超過額定電壓控制的原因?

    六步換相法pwm控制bldc電機,供電設(shè)置為額定電壓24v,設(shè)置為額定轉(zhuǎn)速為3000rpm,此時占空比100%。 如果以超過額定電壓的母線電壓供電給H橋,轉(zhuǎn)速還是設(shè)置額定,那么在控制的時候,占空比
    發(fā)表于 07-24 07:11