一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

接下來(lái)是串口發(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

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

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

}*/

修改好了記得保存。

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

#include "gizwits_product.h"

#include "common.h"

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

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

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

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

要是有什么錯(cuò)誤的地方請(qǐng)指正,我也是這兩天剛剛琢磨出來(lái),希望能互相學(xué)習(xí)。誒,那個(gè),第一次寫教程,stm32也剛接觸沒多久,水平有限,有什么寫得不好或者錯(cuò)了的地方請(qǐ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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    366942
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    364977

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

    之前已經(jīng)在裸機(jī)上實(shí)現(xiàn)了SAE J1939協(xié)議,因?yàn)橐砑覫OT 功能,現(xiàn)在想添加RT THREAD.因?yàn)橹皩懧銠C(jī)程序的時(shí)候用的是標(biāo)準(zhǔn)庫(kù)。而RT THREAD STUDIO自動(dòng)生成的是HAL庫(kù)
    發(fā)表于 05-27 06:01

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

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

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

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

    HAL庫(kù)標(biāo)準(zhǔn)庫(kù)你會(huì)選擇哪種庫(kù)?

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

    如何HAL庫(kù)轉(zhuǎn)為L(zhǎng)L庫(kù)?

    怎么HAL庫(kù)轉(zhuǎn)為L(zhǎng)L庫(kù)。
    發(fā)表于 03-10 06:08

    AN136 基于GD32F30x系列的IEC60730 ClassB庫(kù)移植指南

    電子發(fā)燒友網(wǎng)站提供《AN136 基于GD32F30x系列的IEC60730 ClassB庫(kù)移植指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-17 16:22 ?1次下載
    AN136 基于GD32F30x系列的IEC60730 ClassB<b class='flag-5'>庫(kù)</b><b class='flag-5'>移植</b>指南

    HAL庫(kù)在Arduino平臺(tái)上的使用

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

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

    在嵌入式系統(tǒng)開發(fā)中,HAL(硬件抽象層)庫(kù)標(biāo)準(zhǔn)庫(kù)是兩種常用的軟件庫(kù),它們?cè)诠δ芎褪褂脠?chǎng)景上有所不同。 1.
    的頭像 發(fā)表于 12-02 14:02 ?3265次閱讀

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

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

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

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

    如何快速入門HAL庫(kù)編程 HAL庫(kù)與裸機(jī)編程的比較

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

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

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

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

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

    六步換相法pwm控制bldc電機(jī),電機(jī)超過(guò)額定電壓控制的原因?

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