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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

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

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

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

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

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

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

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

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

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

通過SOFT_SPI1_BUS_CONFIG結構體,設置miso=10,mosi=8,sck=9,將相應編號的io點連線到傳感器模塊的so->10,clk->9,cs->19,板級初始化 實現(xiàn)spi0設備總線,

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

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

5、代碼倉庫:https://gitee.com/alphasu1109/max6675_temp

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

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

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,并修改同級目錄中sconscript文件,增加編譯條件后解決。

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

3.include "spi.h" 編譯報錯,找不到,沒有包含在include文件夾內,經過檢查"rt_thread/components/drivers/include"文件夾,存在"rtdevice.h"文件,里面含有spi.h加載過程,#ifdef RT_USING_SPI #include "spi.h" #endif, 因此改為#include "rtdevice.h"

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

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

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

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

通過SOFT_SPI1_BUS_CONFIG結構體,設置miso=10,mosi=8,sck=9,將相應編號的io點連線到傳感器模塊的so->10,clk->9,cs->19,板級初始化 實現(xiàn)spi0設備總線,

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

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

5、代碼倉庫:https://gitee.com/alphasu1109/max6675_temp

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

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

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,并修改同級目錄中sconscript文件,增加編譯條件后解決。

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

3.include "spi.h" 編譯報錯,找不到,沒有包含在include文件夾內,經過檢查"rt_thread/components/drivers/include"文件夾,存在"rtdevice.h"文件,里面含有spi.h加載過程,#ifdef RT_USING_SPI #include "spi.h" #endif, 因此改為#include "rtdevice.h"

審核編輯:湯梓紅

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

    關注

    2

    文章

    4349

    瀏覽量

    70275
  • 檢測
    +關注

    關注

    5

    文章

    4348

    瀏覽量

    91105
  • 開發(fā)板
    +關注

    關注

    25

    文章

    4771

    瀏覽量

    96185
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

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

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

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

    在ELF 1 開發(fā)板上實現(xiàn)讀取攝像頭視頻進行目標檢測

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

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

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

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

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

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

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

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

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

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

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

    GSM開發(fā)板V1調試手冊

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

    平頭哥Lichee D1 DocK Pro開發(fā)板上手評測

    平頭哥Lichee D1 DocK Pro開發(fā)板上手評測
    的頭像 發(fā)表于 09-28 16:15 ?806次閱讀
    平頭哥Lichee D<b class='flag-5'>1</b> DocK Pro<b class='flag-5'>開發(fā)板</b>上手評測

    TX-1C型單片機開發(fā)板原理圖

    TX-1C型單片機開發(fā)板原理圖
    發(fā)表于 09-25 11:44 ?24次下載