那曲檬骨新材料有限公司

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

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

3天內不再提示

基于AB32VG1開發板的設備溫度檢測

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

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

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

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

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

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

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

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

3、線程:rtthread線程保障實時傳感器數據采集,信號量實現同步串口發送數據,互斥量保護傳感器數據集正確性

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

通過SOFT_SPI1_BUS_CONFIG結構體,設置miso=10,mosi=8,sck=9,將相應編號的io點連線到傳感器模塊的so->10,clk->9,cs->19,板級初始化 實現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開發板的設備溫度檢測
基于AB32VG1開發板的設備溫度檢測

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

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,但是讀取數據總是0,原因是沒有設置時序邏輯,spi初始值datawidth是8,cpol和cpha都是0,經過檢查max6675數據手冊,重新修改配置后,成功讀取數據。

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開發環境,sensor軟件包,max6675軟件包,Arduino編譯器,littleVGL圖形界面,vscode編輯器。

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

3、線程:rtthread線程保障實時傳感器數據采集,信號量實現同步串口發送數據,互斥量保護傳感器數據集正確性

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

通過SOFT_SPI1_BUS_CONFIG結構體,設置miso=10,mosi=8,sck=9,將相應編號的io點連線到傳感器模塊的so->10,clk->9,cs->19,板級初始化 實現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開發板的設備溫度檢測
基于AB32VG1開發板的設備溫度檢測

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

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,但是讀取數據總是0,原因是沒有設置時序邏輯,spi初始值datawidth是8,cpol和cpha都是0,經過檢查max6675數據手冊,重新修改配置后,成功讀取數據。

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"

審核編輯:湯梓紅

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

    關注

    2

    文章

    4546

    瀏覽量

    70863
  • 檢測
    +關注

    關注

    5

    文章

    4512

    瀏覽量

    91750
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98218
收藏 人收藏

    評論

    相關推薦

    迅為RK3568開發板驅動指南Linux中通用SPI設備驅動

    迅為RK3568開發板驅動指南Linux中通用SPI設備驅動
    的頭像 發表于 01-23 11:02 ?1724次閱讀
    迅為RK3568<b class='flag-5'>開發板</b>驅動指南Linux中通用SPI<b class='flag-5'>設備</b>驅動

    人臉疲勞檢測應用-米爾基于RK3576核心/開發板

    本文將介紹基于米爾電子MYD-LR3576開發板(米爾基于瑞芯微RK3576開發板)的人臉疲勞檢測方案測試。米爾基于RK3576核心/開發板
    的頭像 發表于 12-20 08:06 ?384次閱讀
    人臉疲勞<b class='flag-5'>檢測</b>應用-米爾基于RK3576核心<b class='flag-5'>板</b>/<b class='flag-5'>開發板</b>

    VMware環境下,同時燒錄固件檢測不到設備如何解決?觸覺智能鴻蒙開發板演示

    本文介紹PC電腦端運行VMware環境下,同時燒錄固件檢測不到設備的解決方法。觸覺智能Purple Pi OH鴻蒙開發板演示,搭載了瑞芯微RK3566芯片,類樹莓派設計,Laval官方社區主薦,已適配全新OpenHarmony5
    的頭像 發表于 12-19 09:36 ?289次閱讀
    VMware環境下,同時燒錄固件<b class='flag-5'>檢測</b>不到<b class='flag-5'>設備</b>如何解決?觸覺智能鴻蒙<b class='flag-5'>開發板</b>演示

    【RA8D1試用活動】RA8D1B-CPKCOR開發板移植linux

    【RA8D1試用活動】RA8D1B-CPKCOR開發板移植linux
    的頭像 發表于 11-16 01:02 ?328次閱讀
    【RA8D<b class='flag-5'>1</b>試用活動】RA8D<b class='flag-5'>1</b>B-CPKCOR<b class='flag-5'>開發板</b>移植linux

    基于哪吒開發板部署YOLOv8模型

    2024英特爾 “走近開發者”互動活動-哪吒開發套件免費試 用 AI 創新計劃:哪吒開發板是專為支持入門級邊緣 AI 應用程序和設備而設計,能夠滿足人工智能學習、
    的頭像 發表于 11-15 14:13 ?423次閱讀
    基于哪吒<b class='flag-5'>開發板</b>部署YOLOv8模型

    正點原子fpga開發板不同型號

    正點原子作為國內領先的FPGA開發板供應商,其產品線覆蓋了從入門級到高端應用的各個領域。這些開發板不僅適用于學術研究,還廣泛應用于工業控制、通信、圖像處理等多個領域。 1. 入門級開發板
    的頭像 發表于 11-13 09:30 ?1256次閱讀

    【干貨】性價比拉滿!HK32F407VG開發板介紹

    開發板簡介開發板是基于航順芯片公司F4系列HK32F407VGT7芯片的一款開發板,Cortex-M4內核,最高主頻168MHz,內置1MKBFlash和256KBSRAM,SDIO、
    的頭像 發表于 11-08 13:27 ?311次閱讀
    【干貨】性價比拉滿!HK32F407<b class='flag-5'>VG</b><b class='flag-5'>開發板</b>介紹

    基于OPENCV的相機捕捉視頻進行人臉檢測--米爾NXP i.MX93開發板

    本文將介紹基于米爾電子MYD-LMX93開發板(米爾基于NXPi.MX93開發板)的基于OpenCV的人臉檢測方案測試。OpenCV提供了一個非常簡單的接口,用于相機捕捉一個視頻(我用的電腦內置
    的頭像 發表于 11-07 09:03 ?1159次閱讀
    基于OPENCV的相機捕捉視頻進行人臉<b class='flag-5'>檢測</b>--米爾NXP i.MX93<b class='flag-5'>開發板</b>

    ARM開發板的功耗分析與優化

    隨著移動設備和物聯網設備的快速發展,對低功耗的需求日益增長。 1. 功耗的來源 ARM開發板的功耗主要來源于以下幾個方面: CPU功耗 :包括動態功耗和靜態功耗。動態功耗與CPU的工作
    的頭像 發表于 11-05 11:40 ?536次閱讀

    51開發板芯片資料

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

    linux開發板如何編譯curl

    在Linux開發板上編譯 curl 庫通常涉及到幾個步驟,包括準備開發環境、下載源代碼、配置編譯選項以及執行編譯和安裝過程。以下是一個基本的指南,幫助你在Linux開發板上編譯 curl 。
    的頭像 發表于 08-30 15:33 ?790次閱讀

    米爾NXP i.MX 93開發板的Qt開發指南

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

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

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

    fpga開發板是什么?fpga開發板有哪些?

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

    fpga開發板使用教程

    FPGA開發板的使用教程主要包括以下幾個關鍵步驟。
    的頭像 發表于 03-14 15:50 ?1257次閱讀
    网络百家乐官网赌博视频| 偃师市| 百家乐官网的注码技巧| 威尼斯人娱乐789399| 百家乐官网7人桌布| 淄博市| 尊龙百家乐赌场娱乐网规则| 百家乐官网现金网排名| 百家乐网上真钱娱乐| 百家乐官网在线娱乐网| 游戏百家乐官网押发| 百家乐斗地主| 百家乐官网偷码| 大发888小陆| 最新百家乐游戏机| 百家乐官网ipone| 舟山星空棋牌下载| 功夫百家乐的玩法技巧和规则| 赌百家乐的心得体会| 卢克索百家乐官网的玩法技巧和规则| 澳门百家乐官网赌场文| 搜索| 百家乐专业赌| 赌场百家乐欺诈方法| 百家乐官网赌博大全| 百家乐官网免費游戏| 真钱娱乐平台| 大发888开户大发娱乐权威吗| 威尼斯人娱乐城百家乐赌博| 百家乐qq游戏| 鑫鼎百家乐官网娱乐城| 百家乐官网统计| 波音百家乐官网自动投注| 网上百家乐官网真实度| 沙河市| 溧阳市| 百家乐官网的庄闲概率| 永利高百家乐官网现金网| 第一足球网| 威尼斯人娱乐官网| 百家乐免费体验金|