chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

RT-Thread記錄(十八、SHT21與24C02軟件包)

矜辰所致 ? 來源:矜辰所致 ? 作者:矜辰所致 ? 2022-07-08 11:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文學(xué)習(xí)測試一下幾款典型設(shè)備的 RT-Thread  I2C軟件包

目錄

  • 前言
  • 一、RT-Thread I2C 總線注冊
    • 1.1 I2C 設(shè)備使用步驟
    • 1.2 檢查問題
  • 二、溫濕度傳感器軟件包
    • 2.1 添加及基本測試
    • 2.2 程序中使用
  • 三、EEPROM 軟件包
    • 3.1 添加及基本測試
    • 3.2 程序中使用
  • 結(jié)語

前言

組件與軟件包部分之前文章我們學(xué)習(xí)了 2 個組件: SFUD組件與 AT組件。 RT-Thread 豐富的生態(tài)系統(tǒng),除了一些標(biāo)準(zhǔn)的組件, 還支持各種各樣的軟件包,上一篇文章我們已經(jīng)接觸過 at_device 軟件包。在實際應(yīng)用中很多常用的設(shè)備,都有開發(fā)者已經(jīng)寫好了軟件包,我們可以直接添加到自己的工程使用。

本文我們就以我們常用的 I2C 設(shè)備為例,說明一下軟件包的使用方式。

專欄更新到這里已經(jīng)可以結(jié)尾了,組件與軟件包我們只做使用記錄說明,目的在于介紹一下如何使用現(xiàn)成的組件和軟件包, 所有的包中都有作者寫的 README 文件,這是最權(quán)威也最值得參考的文件,大家都可以看到說明和使用方式。

說明,本文的 I2C 接口為軟件 I2C。

在開發(fā)板上,我們有2個 I2C 設(shè)備,一個是 EEPROM 24C02 和 一個 溫濕度傳感器 SHT21。


EEPROM:

pYYBAGLHn4GARvzGAACAh8SNL40859.png

溫濕度傳感器:

poYBAGLHn4GAB4jGAAB6gz1I3sY188.png

在 RT-Thread 專欄應(yīng)用篇中,我們已經(jīng)實現(xiàn)過 I2C 代碼的移植,成功讀取到了 溫濕度的數(shù)據(jù),這里我再次測試,是通過 RT-Thread 軟件包的使用實現(xiàn)數(shù)據(jù)讀取。

??
本 RT-Thread 專欄記錄的開發(fā)環(huán)境:
RT-Thread記錄(一、RT-Thread 版本、RT-Thread Studio開發(fā)環(huán)境 及 配合CubeMX開發(fā)快速上手)
RT-Thread記錄(二、RT-Thread內(nèi)核啟動流程 — 啟動文件和源碼分析)
??
RT-Thread 內(nèi)核篇系列博文鏈接:
RT-Thread記錄(三、RT-Thread 線程操作函數(shù)及線程管理與FreeRTOS的比較)
RT-Thread記錄(四、RT-Thread 時鐘節(jié)拍和軟件定時器
RT-Thread記錄(五、RT-Thread 臨界區(qū)保護)
RT-Thread記錄(六、IPC機制之信號量、互斥量和事件集)
RT-Thread記錄(七、IPC機制之郵箱、消息隊列)
RT-Thread記錄(八、理解 RT-Thread 內(nèi)存管理)
RT-Thread記錄(九、RT-Thread 中斷處理與階段小結(jié))
??
STM32L051C8 上使用 RT-Thread 應(yīng)用篇系列博文連接:
RT-Thread 應(yīng)用篇 — 在STM32L051上使用 RT-Thread (一、無線溫濕度傳感器 之 新建項目)
RT-Thread 應(yīng)用篇 — 在STM32L051上使用 RT-Thread (二、無線溫濕度傳感器 之 CubeMX配置)
RT-Thread 應(yīng)用篇 — 在STM32L051上使用 RT-Thread (三、無線溫濕度傳感器 之 I2C通訊)
RT-Thread 應(yīng)用篇 — 在STM32L051上使用 RT-Thread (四、無線溫濕度傳感器 之 串口通訊)
??
RT-Thread 設(shè)備篇系列博文鏈接:
RT-Thread記錄(十、全面認(rèn)識 RT-Thread I/O 設(shè)備模型)
RT-Thread記錄(十一、I/O 設(shè)備模型之UART設(shè)備 — 源碼解析)
RT-Thread記錄(十二、I/O 設(shè)備模型之UART設(shè)備 — 使用測試)
RT-Thread記錄(十三、I/O 設(shè)備模型之PIN設(shè)備)
RT-Thread記錄(十四、I/O 設(shè)備模型之ADC設(shè)備)
RT-Thread記錄(十五、I/O 設(shè)備模型之SPI設(shè)備)
??
RT-Thread 組件與軟件包系列博文鏈接:
RT-Thread記錄(十六、SFUD組件 — SPI Flash的讀寫)
RT-Thread記錄(十七、AT組件 — ESP8266使用 at_device 軟件包聯(lián)網(wǎng))

一、RT-Thread I2C 總線注冊

我們以前博文講過,RT-Thread 組件和軟件包基本都是基于 RT-Thread 的設(shè)備模型,和前面講的 SPI 設(shè)備類似,I2C 設(shè)備軟件包的使用也需要先注冊 I2C 總線設(shè)備到 RT-Thread 的設(shè)備管理器。

如果沒有注冊總線,是無法使用軟件包的,比如溫濕度傳感器的 sht2x 軟件包測試如下:

pYYBAGLHn4GACHm7AAA4eyOTi2I950.png

1.1 I2C 設(shè)備使用步驟

有了以前的學(xué)習(xí),注冊 I2C 總線對我們來說已經(jīng)是小菜一碟,直接在board.h中查看軟件 I2C 使用步驟:

poYBAGLHn4KALZjAAADUUTtz9b8424.png

1、首先,在 RT-Thread Studio 工程中,打開 RT-Thread Settings,使能 軟件I2C 驅(qū)動,如下圖所示:

pYYBAGLHn4KAVxmZAADCbNyzaiI614.png

2、根據(jù)說明和原理圖修改宏定義:

poYBAGLHn4KAM6-IAACFIkoynPg172.png

只需要上面2步,I2C 設(shè)備的使用前提就準(zhǔn)備好了,我們把程序燒錄開發(fā)本,就可以看到系統(tǒng)在初始化的時候已經(jīng)自動注冊好了2個 I2C 總線:

(出問題了,并沒有i2c 總線設(shè)備?。。。。?! = =?。?/strong>

1.2 檢查問題

上面使用 I2C 設(shè)備使能,一切看上去都是沒問題了:

pYYBAGLHn4KAa1fpAAA-nhjIaHc513.png

我一開始很懵,這么簡單的操作我哪里會出問題了,想了很久,然后還搞不明白為什么初始化不會注冊i2c總線,最后還是得去看驅(qū)動代碼?

但是壓根沒有看到注冊總線的驅(qū)動函數(shù)……(后面發(fā)現(xiàn)并不是studio的問題,應(yīng)該是自己很久以前誤操作,刪除了文件……)

pYYBAGLHn4OAAP_EAAEqvzxTmv0008.png

………… 花了 …… 好多時間……最后我直接從以前的工程中復(fù)制了一份文件進(jìn)來:

poYBAGLHn4OAeX-7AACTF8iitMU533.png
/*
 * Copyright (c) 2006-2018, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2018-11-08     balanceTWK   first version
 */

#include 
#include "drv_soft_i2c.h"
#include "drv_config.h"

#ifdef RT_USING_I2C

//#define DRV_DEBUG
#define LOG_TAG              "drv.i2c"
#include 

#if !defined(BSP_USING_I2C1) && !defined(BSP_USING_I2C2) && !defined(BSP_USING_I2C3) && !defined(BSP_USING_I2C4)
#error "Please define at least one BSP_USING_I2Cx"
/* this driver can be disabled at menuconfig → RT-Thread Components → Device Drivers */
#endif

static const struct stm32_soft_i2c_config soft_i2c_config[] =
{
#ifdef BSP_USING_I2C1
    I2C1_BUS_CONFIG,
#endif
#ifdef BSP_USING_I2C2
    I2C2_BUS_CONFIG,
#endif
#ifdef BSP_USING_I2C3
    I2C3_BUS_CONFIG,
#endif
#ifdef BSP_USING_I2C4
    I2C4_BUS_CONFIG,
#endif
};

static struct stm32_i2c i2c_obj[sizeof(soft_i2c_config) / sizeof(soft_i2c_config[0])];

/**
 * This function initializes the i2c pin.
 *
 * @param Stm32 i2c dirver class.
 */
static void stm32_i2c_gpio_init(struct stm32_i2c *i2c)
{
    struct stm32_soft_i2c_config* cfg = (struct stm32_soft_i2c_config*)i2c->ops.data;

    rt_pin_mode(cfg->scl, PIN_MODE_OUTPUT_OD);
    rt_pin_mode(cfg->sda, PIN_MODE_OUTPUT_OD);

    rt_pin_write(cfg->scl, PIN_HIGH);
    rt_pin_write(cfg->sda, PIN_HIGH);
}

/**
 * This function sets the sda pin.
 *
 * @param Stm32 config class.
 * @param The sda pin state.
 */
static void stm32_set_sda(void *data, rt_int32_t state)
{
    struct stm32_soft_i2c_config* cfg = (struct stm32_soft_i2c_config*)data;
    if (state)
    {
        rt_pin_write(cfg->sda, PIN_HIGH);
    }
    else
    {
        rt_pin_write(cfg->sda, PIN_LOW);
    }
}

/**
 * This function sets the scl pin.
 *
 * @param Stm32 config class.
 * @param The scl pin state.
 */
static void stm32_set_scl(void *data, rt_int32_t state)
{
    struct stm32_soft_i2c_config* cfg = (struct stm32_soft_i2c_config*)data;
    if (state)
    {
        rt_pin_write(cfg->scl, PIN_HIGH);
    }
    else
    {
        rt_pin_write(cfg->scl, PIN_LOW);
    }
}

/**
 * This function gets the sda pin state.
 *
 * @param The sda pin state.
 */
static rt_int32_t stm32_get_sda(void *data)
{
    struct stm32_soft_i2c_config* cfg = (struct stm32_soft_i2c_config*)data;
    return rt_pin_read(cfg->sda);
}

/**
 * This function gets the scl pin state.
 *
 * @param The scl pin state.
 */
static rt_int32_t stm32_get_scl(void *data)
{
    struct stm32_soft_i2c_config* cfg = (struct stm32_soft_i2c_config*)data;
    return rt_pin_read(cfg->scl);
}
/**
 * The time delay function.
 *
 * @param microseconds.
 */
static void stm32_udelay(rt_uint32_t us)
{
    rt_uint32_t ticks;
    rt_uint32_t told, tnow, tcnt = 0;
    rt_uint32_t reload = SysTick->LOAD;

    ticks = us * reload / (1000000 / RT_TICK_PER_SECOND);
    told = SysTick->VAL;
    while (1)
    {
        tnow = SysTick->VAL;
        if (tnow != told)
        {
            if (tnow < told)
            {
                tcnt += told - tnow;
            }
            else
            {
                tcnt += reload - tnow + told;
            }
            told = tnow;
            if (tcnt >= ticks)
            {
                break;
            }
        }
    }
}

static const struct rt_i2c_bit_ops stm32_bit_ops_default =
{
    .data     = RT_NULL,
    .set_sda  = stm32_set_sda,
    .set_scl  = stm32_set_scl,
    .get_sda  = stm32_get_sda,
    .get_scl  = stm32_get_scl,
    .udelay   = stm32_udelay,
    .delay_us = 1,
    .timeout  = 100
};

/**
 * if i2c is locked, this function will unlock it
 *
 * @param stm32 config class
 *
 * @return RT_EOK indicates successful unlock.
 */
static rt_err_t stm32_i2c_bus_unlock(const struct stm32_soft_i2c_config *cfg)
{
    rt_int32_t i = 0;

    if (PIN_LOW == rt_pin_read(cfg->sda))
    {
        while (i++ < 9)
        {
            rt_pin_write(cfg->scl, PIN_HIGH);
            stm32_udelay(100);
            rt_pin_write(cfg->scl, PIN_LOW);
            stm32_udelay(100);
        }
    }
    if (PIN_LOW == rt_pin_read(cfg->sda))
    {
        return -RT_ERROR;
    }

    return RT_EOK;
}

/* I2C initialization function */
int rt_hw_i2c_init(void)
{
    rt_size_t obj_num = sizeof(i2c_obj) / sizeof(struct stm32_i2c);
    rt_err_t result;

    for (int i = 0; i < obj_num; i++)
    {
        i2c_obj[i].ops = stm32_bit_ops_default;
        i2c_obj[i].ops.data = (void*)&soft_i2c_config[i];
        i2c_obj[i].i2c2_bus.priv = &i2c_obj[i].ops;
        stm32_i2c_gpio_init(&i2c_obj[i]);
        result = rt_i2c_bit_add_bus(&i2c_obj[i].i2c2_bus, soft_i2c_config[i].bus_name);
        RT_ASSERT(result == RT_EOK);
        stm32_i2c_bus_unlock(&soft_i2c_config[i]);
        
        LOG_D("software simulation %s init done, pin scl: %d, pin sda %d",
        soft_i2c_config[i].bus_name, 
        soft_i2c_config[i].scl, 
        soft_i2c_config[i].sda);
    }

    return RT_EOK;
}
INIT_BOARD_EXPORT(rt_hw_i2c_init);

#endif /* RT_USING_I2C */

然后就一切正常了:

pYYBAGLHn4OAX5MYAAAnIzfzwxA751.png

最開始我以為是設(shè)置問題,當(dāng)時陷入里面想不明白,隔了幾天回頭想想,好像是以前有人問我加載軟件包沒用,我自己測試了一下給了回復(fù),但是當(dāng)時還是 RT-Thread 記錄專欄剛開始,不需要用到軟件包,然后自己因為一些警告誤刪除了 這個文件 (灬? ?灬)…

到頭來想起來原來還是自己曾經(jīng)的誤操作… 尷尬…… 這種問題確實在實際中會遇到……,所以提醒一下自己。

二、溫濕度傳感器軟件包

前面的莫名的問題太影響心情了,緩一緩希望接下來一切順利。

2.1 添加及基本測試

對于我們使用的溫濕度傳感器,原理圖上畫的是 HTU21D ,是和 sht21 pin to pin 的程序也一樣的溫濕度傳感器,我們在軟件包中心找到 sht2x 軟件包,如下圖:

poYBAGLHn4OAHub8AADSy0lBPcU148.png

軟件包并不需要過多的設(shè)置:

pYYBAGLHn4SAUt8qAADfxlOAUys021.png

添加軟件包完成,保存后重新編譯工程燒錄,可以看到有 sht20 的指令:

poYBAGLHn4SAO73bAACL7wwm548127.png

溫濕度讀取測試:

pYYBAGLHn4SAIVRXAAA3EmoU2A8923.png

2.2 程序中使用

上面我們通過命令行測試了軟件包,使用起來感覺特別簡單是不是,那么我們在程序中怎么調(diào)用呢?

從軟件包的說明文檔里面可以查看到他的操作API(只看我們測試用到的幾個):

/*
根據(jù)總線名稱,自動初始化對應(yīng)的 SHT20 設(shè)備
參數(shù)	描述
name	i2c 設(shè)備名稱
返回	描述
!= NULL	將返回 sht20 設(shè)備對象
= NULL	查找失敗
*/
sht20_device_t sht20_init(const char *i2c_bus_name)

/*
讀取溫度
參數(shù)	描述
dev	sht20 設(shè)備對象
返回	描述
!= 0.0	測量溫度值
=0.0	測量失敗
*/
float sht20_read_temperature(sht20_device_t dev)

/*
讀取濕度
參數(shù)	描述
dev	sht20設(shè)備對象
返回	描述
!= 0.0	測量濕度值
=0.0	測量失敗
*/
float sht20_read_humidity(sht20_device_t dev)

我們用圖文的方式說明一下,還是很簡單的:

poYBAGLHn4SAbnxRAACp3VuCWkg499.png

測試結(jié)果:

pYYBAGLHn4WAeiZnAABrWDjlnyQ783.png

三、EEPROM 軟件包

我們用的EEPROM 24C02,也有對應(yīng)的軟件包,有了上面傳感器的例子,我們使用起來就很順手了。

3.1 添加及基本測試

我們在軟件包中心找到 at24cxx 軟件包,如下圖:

poYBAGLHn4WAQf4DAADY1UrNLXI903.png

軟件包并不需要過多的設(shè)置:

pYYBAGLHn4WAC79gAABCSgziAjI336.png

添加軟件包完成,保存后重新編譯工程燒錄,可以看到有 at24cxx 的指令:

poYBAGLHn4aAW9LFAABmhY4ZskI574.png

EEPROM讀取測試:

這個指令讀取有點小疑問,還不確定是從哪里開始讀,讀多少,也不知道從哪里開始寫,寫多少。
但是沒有關(guān)系,我們?nèi)绻诔绦蛑惺褂?,是直接調(diào)用軟件包提供的 API。

poYBAGLHn4aAFK_AAABqgOiZd58881.png

3.2 程序中使用

從軟件包的說明文檔里面可以查看到他的操作API,或者直接找軟件包的文件:

pYYBAGLHn4aAZBfDAACXldmv-zk573.png

這幾個函數(shù)比較簡單,從函數(shù)聲明都能知道其使用方法,我們用圖文的方式說明一下,首先是初始化:

poYBAGLHn4eAPOXlAABMxu-O6RM102.png

接著是讀寫操作:

pYYBAGLHn4eAXQEoAADvSlTRCAs072.png

測試結(jié)果:

poYBAGLHn4eAXOK2AABe7Nmy7VE010.png

結(jié)語

本文應(yīng)該是很簡單的軟件包使用測試,沒想到和上一篇文章一樣,測試起來都不是那么順利,各種坎坷 = =!

??
也正是說明不管東西有多簡單,在實際使用過程中,難免會遇到一些意想不到的問題,理論知識是我們的立根之本,但是實際的操作才能讓我們歷經(jīng)洗禮!

??
RT-Thread 組件與軟件包部分使用的方式都差不多,我們暫時就更新這些,那么到目前為止 RT-Thread 專欄部分的內(nèi)容也差不多可以完結(jié)了,有理論,有問題,有測試,有應(yīng)用。

??
如果后期還有比較典型的應(yīng)用,我會繼續(xù)把專欄完善,希望大家多多支持!謝謝!

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    111

    瀏覽量

    11935
  • 24c02
    +關(guān)注

    關(guān)注

    0

    文章

    67

    瀏覽量

    30915
  • SHT21
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    9113
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1409

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    介紹RT-Thread軟件包

    學(xué)習(xí)要點介紹 RT-Thread軟件包;簡介 nRF24L01 軟件包的使用,講解如何使用此軟件包將數(shù)據(jù)正確發(fā)送和接收;學(xué)習(xí)線程間的通信
    發(fā)表于 07-27 06:07

    如何在RT-Thread Studio開發(fā)環(huán)境下使用nrf24L01軟件包?

    如何在RT-Thread Studio開發(fā)環(huán)境下使用nrf24L01軟件包
    發(fā)表于 12-17 07:52

    使用menuconfig配置基于RT-Thread的NimBLE軟件包

    最近在學(xué)習(xí) RT-Thread 中的 NimBLE 軟件包,使用 menuconfig 配置選中 NimBLE 軟件包,設(shè)置各種選項后,成功通過編譯并且運行起來。不過這僅僅只是按照文檔說明運行了起來
    發(fā)表于 06-27 11:18

    【原創(chuàng)精選】RT-Thread征文精選技術(shù)文章合集

    、I/O 設(shè)備模型之SPI設(shè)備)RT-Thread記錄(十六、SFUD組件 Flash讀寫)RT-Thread記錄(十七、 AT組件-使用at軟件包
    發(fā)表于 07-26 14:56

    RT-THREAD studio 2.0.0不能添加軟件包能幫忙看看是什么問題嗎

    1.電腦聯(lián)想小新15,intel平臺2.windows10專業(yè)版64位系統(tǒng)3.問題描述:RT-THREAD studio 2.0.0不能添加軟件包4.用兩臺聯(lián)想筆記本電腦對比過,一臺能夠正常添加
    發(fā)表于 11-30 10:15

    使用RT-Thread Studio開發(fā)CH32V307實現(xiàn)按鍵軟件包使用

    使用上篇帖子創(chuàng)建的工程,使用RT-Thread Studio軟件包添加工具,快速實現(xiàn)MultiButton的使用在RT-Thread Studio工程內(nèi)打開RT-Thread Sett
    發(fā)表于 04-15 21:16

    RT-Thread 軟件包介紹

    RT-Thread 軟件包介紹軟件包的目的軟件包在高級語言中非常常見,很多高級語言都有對應(yīng)的軟件包平臺,比如 Python 的 PyPi,R
    發(fā)表于 05-21 19:38 ?5745次閱讀

    RT-Thread軟件包定義和使用

    RT-Thread軟件包是運行于RT-Thread物聯(lián)網(wǎng)操作系統(tǒng)平臺上,面向不同應(yīng)用領(lǐng)域的通用軟件組件 。RT-Thread 同時提供了開放
    的頭像 發(fā)表于 05-21 11:29 ?1.1w次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>軟件包</b>定義和使用

    RT-Thread社區(qū)上有哪些優(yōu)秀的軟件包?

    SX12XX 軟件包是基于 semtech 官網(wǎng) Firmware Drivers V2.1.0代碼庫的移植實現(xiàn),目前只支持 SX1278 LoRa設(shè)備。該軟件包在原代碼庫功能的基礎(chǔ)上,對接 RT-Thread SPI 設(shè)備驅(qū)動
    的頭像 發(fā)表于 04-03 15:35 ?8049次閱讀

    2022 RT-Thread全球技術(shù)大會:RT-Thread軟件包

    RT-Thread在2022年上半年新增幾十個軟件包:rtt-rust、LuatOS、gui-guider-demo。
    的頭像 發(fā)表于 05-27 14:12 ?1266次閱讀
    2022 <b class='flag-5'>RT-Thread</b>全球技術(shù)大會:<b class='flag-5'>RT-Thread</b><b class='flag-5'>軟件包</b>

    RT-Thread全球技術(shù)大會:恩智浦新增100+軟件包

    RT-Thread全球技術(shù)大會:恩智浦新增100+軟件包,支持了很多有用的功能。 ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:26 ?1199次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會:恩智浦新增100+<b class='flag-5'>軟件包</b>

    RT-Thread在線軟件包改為本地軟件包的方法

    RT-Thread軟件包,使用時需要手動通過 ENV 工具 更新到 本地的 packages 目錄,并且 packages 目錄默認(rèn)不參與 Git 工程管理,軟件包多了,偶爾需要更改軟件包
    的頭像 發(fā)表于 08-11 15:02 ?1783次閱讀
    <b class='flag-5'>RT-Thread</b>在線<b class='flag-5'>軟件包</b>改為本地<b class='flag-5'>軟件包</b>的方法

    RT-Thread使用cjson軟件包發(fā)送64位長整型數(shù)據(jù)

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源為0.2.2,rt-thread版本為4.1.1,cjson軟件包使
    的頭像 發(fā)表于 10-11 15:09 ?1388次閱讀
    <b class='flag-5'>RT-Thread</b>使用cjson<b class='flag-5'>軟件包</b>發(fā)送64位長整型數(shù)據(jù)

    RT-Thread中Agile Modbus軟件包的使用方法

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源為0.2.2,Agile Modbus軟件包版本為v1.1.2。工程使用上一篇
    的頭像 發(fā)表于 10-11 15:37 ?4335次閱讀
    <b class='flag-5'>RT-Thread</b>中Agile Modbus<b class='flag-5'>軟件包</b>的使用方法

    RT-Thread中mymqtt軟件包的使用方法

    在上一篇文章 RT-Thread中Lan8720和lwip協(xié)議棧的使用的工程基礎(chǔ)上添加mymqtt軟件包。 使能mqtt example和mqtt test,保存,等待下載更新軟件包。
    的頭像 發(fā)表于 10-13 10:44 ?1427次閱讀
    <b class='flag-5'>RT-Thread</b>中mymqtt<b class='flag-5'>軟件包</b>的使用方法