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

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

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

基于AB32VG1開發(fā)板的設(shè)備溫度檢測(cè)

jf_13982707 ? 來源:jf_13982707 ? 作者:jf_13982707 ? 2022-02-18 11:25 ? 次閱讀

基于RT-Thread 的Sensor框架對(duì)應(yīng)的軟件包max6675,通過AB32VG1開發(fā)板模擬spi驅(qū)動(dòng),讀取熱電偶傳感器的數(shù)據(jù),并通過串口輸出,到串口屏顯示圖形。

非常感謝這次大賽主辦方睿賽德,中科藍(lán)訊,elecfan,為我們提供了很好的軟件硬件平臺(tái),學(xué)習(xí)到基于嵌入式系統(tǒng)開發(fā)技術(shù),提升一下技能,為今后的工作積累經(jīng)驗(yàn)。同時(shí)深深感受到,我們國(guó)產(chǎn)軟件硬件系統(tǒng)在崛起了!

AB32VG1開發(fā)板,用GPIO模擬spi接口,接到溫度傳感器模塊

溫度傳感器模塊MAX6675,采用spi數(shù)據(jù)接口和開發(fā)板通訊,三根信號(hào)線so,cs,sck分別接到MISO,CS,SCLK,電源VCC,GND,+,-接到熱電偶傳感器

串口屏(構(gòu)成:TFT顯示屏,spi接口連接到ESP32開發(fā)板),通過串口連接到AB32VG1,接收并圖形化顯示傳感器數(shù)據(jù)圖表

1、軟件構(gòu)成:rtthread開發(fā)環(huán)境,sensor軟件包,max6675軟件包,Arduino編譯器,littleVGL圖形界面,vscode編輯器。

2、驅(qū)動(dòng):rtthread硬件設(shè)備驅(qū)動(dòng)框架,rtthread硬件管理系統(tǒng),spi驅(qū)動(dòng),uart模塊,msh模塊,downloader下載

3、線程:rtthread線程保障實(shí)時(shí)傳感器數(shù)據(jù)采集,信號(hào)量實(shí)現(xiàn)同步串口發(fā)送數(shù)據(jù),互斥量保護(hù)傳感器數(shù)據(jù)集正確性

4、spi接口說明:非常感謝大神提供的drvsoftspi,讓AB32VG1實(shí)現(xiàn)可以定制gpio為spi接口,

通過SOFT_SPI1_BUS_CONFIG結(jié)構(gòu)體,設(shè)置miso=10,mosi=8,sck=9,將相應(yīng)編號(hào)的io點(diǎn)連線到傳感器模塊的so->10,clk->9,cs->19,板級(jí)初始化 實(shí)現(xiàn)spi0設(shè)備總線,

max6675_init(const char *spi_device_name)中rt_soft_spi_device_attach("spi0","spi10",RT_NULL,19)將傳感器設(shè)備掛載到spi0總線,片選cs=19,成為設(shè)備spi10,

rt_spi_configure(dev->spi, &cfg); //配置傳輸模式,設(shè)置spi10設(shè)備讀寫時(shí)序邏輯,cpol=1,cpha=0,datawidth=16。

5、代碼倉(cāng)庫(kù):https://gitee.com/alphasu1109/max6675_temp

基于AB32VG1開發(fā)板的設(shè)備溫度檢測(cè)
基于AB32VG1開發(fā)板的設(shè)備溫度檢測(cè)

數(shù)據(jù)顯示線程,1秒定時(shí),周期性讀取sensor數(shù)據(jù),存入全局變量temp1,釋放信號(hào)量rxsem,同步串口發(fā)送數(shù)據(jù)

if (sensor_data.data.temp >= 0)

{

rt_kprintf("temp:%3d.%dC, timestamp:%5d\n",

sensor_data.data.temp / 100,

sensor_data.data.temp % 100,

sensor_data.timestamp);

}

else

{

rt_kprintf("temp:-%2d.%dC, timestamp:%5d\n",

abs(sensor_data.data.temp / 100),

abs(sensor_data.data.temp % 100),

sensor_data.timestamp);

}

temp1=sensor_data.data.temp;

//temp1=5;

rt_sem_release(&rx_sem);

遇到的坑:1,找不到max6675_read_temp(),原因是drvsoftspi.c沒有被編譯,通過勾選setting組建spi,并修改同級(jí)目錄中sconscript文件,增加編譯條件后解決。

2.掛載以后,通過list_device,能看到spi10,但是讀取數(shù)據(jù)總是0,原因是沒有設(shè)置時(shí)序邏輯,spi初始值datawidth是8,cpol和cpha都是0,經(jīng)過檢查max6675數(shù)據(jù)手冊(cè),重新修改配置后,成功讀取數(shù)據(jù)。

3.include "spi.h" 編譯報(bào)錯(cuò),找不到,沒有包含在include文件夾內(nèi),經(jīng)過檢查"rt_thread/components/drivers/include"文件夾,存在"rtdevice.h"文件,里面含有spi.h加載過程,#ifdef RT_USING_SPI #include "spi.h" #endif, 因此改為#include "rtdevice.h"

1、軟件構(gòu)成:rtthread開發(fā)環(huán)境,sensor軟件包,max6675軟件包,Arduino編譯器,littleVGL圖形界面,vscode編輯器。

2、驅(qū)動(dòng):rtthread硬件設(shè)備驅(qū)動(dòng)框架,rtthread硬件管理系統(tǒng),spi驅(qū)動(dòng),uart模塊,msh模塊,downloader下載器

3、線程:rtthread線程保障實(shí)時(shí)傳感器數(shù)據(jù)采集,信號(hào)量實(shí)現(xiàn)同步串口發(fā)送數(shù)據(jù),互斥量保護(hù)傳感器數(shù)據(jù)集正確性

4、spi接口說明:非常感謝大神提供的drvsoftspi,讓AB32VG1實(shí)現(xiàn)可以定制gpio為spi接口,

通過SOFT_SPI1_BUS_CONFIG結(jié)構(gòu)體,設(shè)置miso=10,mosi=8,sck=9,將相應(yīng)編號(hào)的io點(diǎn)連線到傳感器模塊的so->10,clk->9,cs->19,板級(jí)初始化 實(shí)現(xiàn)spi0設(shè)備總線,

max6675_init(const char *spi_device_name)中rt_soft_spi_device_attach("spi0","spi10",RT_NULL,19)將傳感器設(shè)備掛載到spi0總線,片選cs=19,成為設(shè)備spi10,

rt_spi_configure(dev->spi, &cfg); //配置傳輸模式,設(shè)置spi10設(shè)備讀寫時(shí)序邏輯,cpol=1,cpha=0,datawidth=16。

5、代碼倉(cāng)庫(kù):https://gitee.com/alphasu1109/max6675_temp

基于AB32VG1開發(fā)板的設(shè)備溫度檢測(cè)
基于AB32VG1開發(fā)板的設(shè)備溫度檢測(cè)

數(shù)據(jù)顯示線程,1秒定時(shí),周期性讀取sensor數(shù)據(jù),存入全局變量temp1,釋放信號(hào)量rxsem,同步串口發(fā)送數(shù)據(jù)

if (sensor_data.data.temp >= 0)

{

rt_kprintf("temp:%3d.%dC, timestamp:%5d\n",

sensor_data.data.temp / 100,

sensor_data.data.temp % 100,

sensor_data.timestamp);

}

else

{

rt_kprintf("temp:-%2d.%dC, timestamp:%5d\n",

abs(sensor_data.data.temp / 100),

abs(sensor_data.data.temp % 100),

sensor_data.timestamp);

}

temp1=sensor_data.data.temp;

//temp1=5;

rt_sem_release(&rx_sem);

遇到的坑:1,找不到max6675_read_temp(),原因是drvsoftspi.c沒有被編譯,通過勾選setting組建spi,并修改同級(jí)目錄中sconscript文件,增加編譯條件后解決。

2.掛載以后,通過list_device,能看到spi10,但是讀取數(shù)據(jù)總是0,原因是沒有設(shè)置時(shí)序邏輯,spi初始值datawidth是8,cpol和cpha都是0,經(jīng)過檢查max6675數(shù)據(jù)手冊(cè),重新修改配置后,成功讀取數(shù)據(jù)。

3.include "spi.h" 編譯報(bào)錯(cuò),找不到,沒有包含在include文件夾內(nèi),經(jīng)過檢查"rt_thread/components/drivers/include"文件夾,存在"rtdevice.h"文件,里面含有spi.h加載過程,#ifdef RT_USING_SPI #include "spi.h" #endif, 因此改為#include "rtdevice.h"

審核編輯:湯梓紅

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

    關(guān)注

    2

    文章

    4416

    瀏覽量

    70452
  • 檢測(cè)
    +關(guān)注

    關(guān)注

    5

    文章

    4398

    瀏覽量

    91246
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4838

    瀏覽量

    96853
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    51開發(fā)板芯片資料

    51開發(fā)板芯片資料
    發(fā)表于 09-18 09:29 ?1次下載

    米爾NXP i.MX 93開發(fā)板的Qt開發(fā)指南

    1.概述Qt是一個(gè)跨平臺(tái)的圖形應(yīng)用開發(fā)框架,被應(yīng)用在不同尺寸設(shè)備和平臺(tái)上,同時(shí)提供不同版權(quán)版本供用戶選擇。米爾NXPi.MX93開發(fā)板(MYD-LMX9X
    的頭像 發(fā)表于 06-07 08:01 ?1578次閱讀
    米爾NXP i.MX 93<b class='flag-5'>開發(fā)板</b>的Qt<b class='flag-5'>開發(fā)</b>指南

    鴻蒙OpenHarmony開發(fā)板解析:【芯片解決方案】

    芯片解決方案是指基于某款開發(fā)板的完整解決方案,包含驅(qū)動(dòng)、設(shè)備側(cè)接口適配、開發(fā)板sdk等。
    的頭像 發(fā)表于 05-10 15:42 ?1063次閱讀
    鴻蒙OpenHarmony<b class='flag-5'>開發(fā)板</b>解析:【芯片解決方案】

    fpga開發(fā)板是什么?fpga開發(fā)板有哪些?

    FPGA開發(fā)板是一種基于FPGA(現(xiàn)場(chǎng)可編程門陣列)技術(shù)的開發(fā)平臺(tái),它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實(shí)現(xiàn)各種數(shù)字電路和邏輯功能。FPGA開發(fā)板通常包括FPGA芯片、時(shí)鐘模塊、電源模塊、輸入輸出接口等組
    的頭像 發(fā)表于 03-14 18:20 ?1666次閱讀

    fpga開發(fā)板使用教程

    FPGA開發(fā)板的使用教程主要包括以下幾個(gè)關(guān)鍵步驟。
    的頭像 發(fā)表于 03-14 15:50 ?889次閱讀

    fpga開發(fā)板與linux開發(fā)板區(qū)別

    FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺(tái),各自具有不同的特點(diǎn)和應(yīng)用場(chǎng)景。在以下的文章中,我將詳細(xì)介紹FPGA開發(fā)板和Linux開發(fā)板
    的頭像 發(fā)表于 02-01 17:09 ?1922次閱讀

    在ELF 1 開發(fā)板上實(shí)現(xiàn)讀取攝像頭視頻進(jìn)行目標(biāo)檢測(cè)

    當(dāng)前,將AI或深度學(xué)習(xí)算法(如分類、目標(biāo)檢測(cè)和軌跡追蹤)部署到嵌入式設(shè)備,進(jìn)而實(shí)現(xiàn)邊緣計(jì)算,正成為輕量級(jí)深度學(xué)習(xí)算法發(fā)展的一個(gè)重要趨勢(shì)。今天將與各位小伙伴分享一個(gè)實(shí)際案例:在ELF1開發(fā)板
    的頭像 發(fā)表于 01-24 10:38 ?599次閱讀
    在ELF <b class='flag-5'>1</b> <b class='flag-5'>開發(fā)板</b>上實(shí)現(xiàn)讀取攝像頭視頻進(jìn)行目標(biāo)<b class='flag-5'>檢測(cè)</b>

    51單片機(jī)開發(fā)板的主要功能 51單片機(jī)開發(fā)板能做什么

    具有多個(gè)通用輸入輸出引腳,可以連接各種外部設(shè)備和傳感器,實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出。 時(shí)鐘管理:開發(fā)板通常會(huì)集成時(shí)鐘電路,包括晶振、時(shí)鐘發(fā)生器等,可以提供穩(wěn)定的時(shí)鐘信號(hào)給單片機(jī)使用。 存儲(chǔ)器管理:開發(fā)板通常會(huì)搭載閃存、EEPROM、S
    的頭像 發(fā)表于 01-23 15:52 ?3086次閱讀

    DIY個(gè)人的Linux開發(fā)板教程

    作者簡(jiǎn)介:大佬已在硬創(chuàng)社開源了近50款開發(fā)板,動(dòng)手能力極強(qiáng),于去年年底開始接觸學(xué)習(xí)Linux,并由全志V3s、F1C200S等芯片開始上手DIY個(gè)人的Linux開發(fā)板。
    的頭像 發(fā)表于 01-07 09:52 ?1740次閱讀
    DIY個(gè)人的Linux<b class='flag-5'>開發(fā)板</b>教程

    EGO1開發(fā)板的硬件規(guī)格、軟件支持、應(yīng)用場(chǎng)景及優(yōu)勢(shì)

    EGO1開發(fā)板是一款功能強(qiáng)大、性價(jià)比高的開發(fā)板,廣泛應(yīng)用于各種嵌入式系統(tǒng)的設(shè)計(jì)與開發(fā)。本文將從硬件規(guī)格、軟件支持、應(yīng)用場(chǎng)景及優(yōu)勢(shì)等方面詳細(xì)介紹EGO
    的頭像 發(fā)表于 12-21 15:49 ?2282次閱讀

    【ELF 1開發(fā)板試用】+傳感器檢測(cè)

    的操作如圖3所示,其中hum 是濕度值,temp是溫度值。 圖3 讀取溫濕度 2.六軸傳感器檢測(cè) ELF1 開發(fā)板所配置的六軸傳感器為ICM20607,其位置如圖4所示。 圖4六軸
    發(fā)表于 11-29 11:59

    【ELF 1開發(fā)板試用】開箱檢測(cè)

    【ELF 1開發(fā)板試用】開箱檢測(cè) 有人說:開箱驗(yàn)貨很簡(jiǎn)單!我的觀點(diǎn)是:開箱驗(yàn)貨也要“有要求,走流程”!以下是開箱檢測(cè)過程記錄。 一、確定開箱檢測(cè)
    發(fā)表于 11-24 11:29

    【ELF 1開發(fā)板試用】+常用接口功能測(cè)試

    時(shí)間 設(shè)置系統(tǒng)時(shí)間到 RTC 芯片,再讀取 RTC時(shí)間的操作如圖8所示: 圖8 更新RTC時(shí)間 3.溫度檢測(cè) ELF1 開發(fā)板提供CPU的結(jié)溫測(cè)試功能,其
    發(fā)表于 11-21 23:57

    GSM開發(fā)板V1調(diào)試手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《GSM開發(fā)板V1調(diào)試手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 11-17 14:50 ?0次下載
    GSM<b class='flag-5'>開發(fā)板</b>V<b class='flag-5'>1</b>調(diào)試手冊(cè)

    開發(fā)板開發(fā)工具指南

    與使用開發(fā)環(huán)境相比,許多工程師更傾向于將調(diào)試點(diǎn)嵌入其代碼并使用測(cè)試設(shè)備來驗(yàn)證其硬件。歐時(shí)電子指南將詳述開發(fā)板開發(fā)工具的優(yōu)勢(shì),并提供關(guān)于使用和選擇恰當(dāng)
    的頭像 發(fā)表于 10-26 14:35 ?532次閱讀