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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3073|回復: 0
收起左側

openmv和STM32進行串口通信程序 2020年電賽F題簡單復刻

[復制鏈接]
ID:921711 發表于 2022-6-2 15:07 | 顯示全部樓層 |閱讀模式
由于本人最近在簡單復刻2020年電賽f題,然后碰到的關于openmv和STM32串口通信的問題,在這里跟大家分享一下心得(新手,程序寫的很爛,并且紅外測溫的程序因為沒找到模塊所以未測試,不喜勿噴)
1、 硬件
openmv,正點原子STM32精英板
這里我們32的串口選用的是串口1,openmv選擇的是串口3
連接的話openmv的P4接32的PA10,P5接32的PA9
2、 程序
在傳統的單片機應用中,兩個單片機串口通信,都是自己定義一些幀,包括幀頭,數據幀,校驗幀,幀尾。
這種方式,穩定,高效。缺點也很明顯:開發難度稍大,需要自己制定協議,編碼解碼需要手動編寫。如果想快速嘗試兩個單片機通信的推薦使用串口傳輸json字符串
優點:不需要了解底層的事情,比如:
·       不考慮大端小端
·       不考慮數據的byte轉換
·       支持任意長的int,float
·       簡單易懂,容易開發。
缺點:效率稍低。json的編碼和解碼會占用cpu。
其實傳輸json在網絡編程中已經成為標準,比如在restful api中,前端和后端使用json來獲取信息。只是在傳統單片機的領域中不常見,一方面是效率稍低,嵌入式通常對成本的控制要求比較高。但是隨著芯片成本的降低,很多應用對物料成本要求不是很高了,對開發效率越來越重視。
openmv端
OpenMV有json的模塊,json.dumps(obj)和ujson.loads(str)可以很容的生成json字符串和解析json字符串。
import json
obj =[[12,0],[10,12],[22,10],[99,11]]
print(json.dumps(obj))
obj = {
    "number":10,
    "color" :[255,0,0],
    "rate" :0.65
}
print(json.dumps(obj))
輸出如下
'[[12, 0], [10, 12],[22, 10], [99, 11]]'
'{"color":[255, 0, 0], "number": 10, "rate": 0.65}'然后把字符串通過串口發送出去,然后在另一端,把json字符串解析成對象/數組。然后進行接下來的邏輯操作。
剛開始直接用自帶的串口發送函數,最后發現行不通,所以才考慮用json字符串
STM32端
配置串口1,編寫中斷函數即可

STM32精英板

STM32精英板

openmv

openmv

openmv程序

openmv程序

STM32串口程序1

STM32串口程序1

STM32串口程序2

STM32串口程序2

Keil代碼下載,本人初學,如有錯誤請多多指點.7z

735.98 KB, 下載次數: 36, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +80 收起 理由
admin + 80 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表