欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 基于STM32F407七要素氣象站CR-WS數據處理實現 附源程序 [打印本頁]

作者: resumebb    時間: 2020-8-29 22:53
標題: 基于STM32F407七要素氣象站CR-WS數據處理實現 附源程序
本帖最后由 resumebb 于 2020-9-2 14:55 編輯

一、七要素氣象站介紹
硬件安裝,通信協議詳情七要素氣象站CR-WS通信協議及數據說明
二、功能講解
首先整體說一下我寫的思路,通過串口三去發送指令并接收來自氣象站的數據,再用串口一進行打印檢查,對于多串口共用有問題的可以看看我STM32F407多路串口通信進行數據收發,然后后期會用串口二將數據發送到全站儀去檢測,目前只是個demo,但是已經完成了對數據的處理和收發功能。
舉個栗子:讀一下溫度傳感器
  1. <blockquote> double getTemperature()
復制代碼


前三位為默認指令碼,因此數據從第四位開始,因為要求的數據格式為10進制,并且要進行計算,所以就進行了一下轉換,分離高4位和低4位,然后乘以權重,再根據數據通信協議進行數據計算,最后存在結構體的溫度變量中。
再舉個栗子,大氣壓傳感器
  1. double getAtmospheric_Pressure()
復制代碼


和溫度傳感器一樣,但是因為通信協議有高位和低位四個數,所以要多定義幾個變量。
指令定義:
u8 weatherIndex[8] = {0x01,0x03,0x00,0x01,0x00,0x0D,0xD5,0xCF};
發送函數:
  1. <span style="white-space:pre">        </span> void sendIndex(void)
復制代碼


ps:發送間隔不能太短,我這里設置的就有點短了,氣象儀有點反應不過來,延時要給大一點。

結構體定義:
  1. <blockquote>typedef struct weatherData{
復制代碼

因為要檢測變化值,連續檢測,然后將前后兩次的各項傳感器數值進行比較,若差值太大就要停止,所以我準備用結構體存儲,把每一次測的數據存于隊列中,當連續三次沒有出問題的話就出隊。

完整請移步https://blog.csdn.net/qq_41573860/article/details/108300452

結果初始值:


第一次測試:

第二次:輕撥風速轉片,轉動風向標

第三次:使勁的轉,讓風速突破歷史記錄

第四次:停止轉動,記錄保持

第五次:斷電,重新上電,各項數據保持


因為涉及到很多其他方面的功能,所以我上傳的項目中已經能刪的文件已經刪掉,只留了氣象傳感器和串口相關的函數,注釋掉的是氣象站用不到的,測試了一下不影響氣象站的使用和數據處理。


有問題可以私我,大家一起討論學習,博客地址:https://blog.csdn.net/qq_41573860/article/details/108300452

全部資料51hei下載地址:
七要素氣象傳感器.7z (307.73 KB, 下載次數: 33)



1.png (39.97 KB, 下載次數: 76)

1.png

作者: akts    時間: 2020-10-13 10:32
樓主能否提供氣象站硬件采購連接或采購信息




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1