找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2949|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

openmv和STM32進(jìn)行串口通信程序 2020年電賽F題簡(jiǎn)單復(fù)刻

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
由于本人最近在簡(jiǎn)單復(fù)刻2020年電賽f題,然后碰到的關(guān)于openmv和STM32串口通信的問(wèn)題,在這里跟大家分享一下心得(新手,程序?qū)懙暮軤,并且紅外測(cè)溫的程序因?yàn)闆](méi)找到模塊所以未測(cè)試,不喜勿噴)
1、 硬件
openmv,正點(diǎn)原子STM32精英板
這里我們32的串口選用的是串口1,openmv選擇的是串口3
連接的話openmv的P4接32的PA10,P5接32的PA9
2、 程序
在傳統(tǒng)的單片機(jī)應(yīng)用中,兩個(gè)單片機(jī)串口通信,都是自己定義一些幀,包括幀頭,數(shù)據(jù)幀,校驗(yàn)幀,幀尾。
這種方式,穩(wěn)定,高效。缺點(diǎn)也很明顯:開(kāi)發(fā)難度稍大,需要自己制定協(xié)議,編碼解碼需要手動(dòng)編寫。如果想快速嘗試兩個(gè)單片機(jī)通信的推薦使用串口傳輸json字符串
優(yōu)點(diǎn):不需要了解底層的事情,比如:
·       不考慮大端小端
·       不考慮數(shù)據(jù)的byte轉(zhuǎn)換
·       支持任意長(zhǎng)的int,float
·       簡(jiǎn)單易懂,容易開(kāi)發(fā)。
缺點(diǎn):效率稍低。json的編碼和解碼會(huì)占用cpu。
其實(shí)傳輸json在網(wǎng)絡(luò)編程中已經(jīng)成為標(biāo)準(zhǔn),比如在restful api中,前端和后端使用json來(lái)獲取信息。只是在傳統(tǒng)單片機(jī)的領(lǐng)域中不常見(jiàn),一方面是效率稍低,嵌入式通常對(duì)成本的控制要求比較高。但是隨著芯片成本的降低,很多應(yīng)用對(duì)物料成本要求不是很高了,對(duì)開(kāi)發(fā)效率越來(lái)越重視。
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}'然后把字符串通過(guò)串口發(fā)送出去,然后在另一端,把json字符串解析成對(duì)象/數(shù)組。然后進(jìn)行接下來(lái)的邏輯操作。
剛開(kāi)始直接用自帶的串口發(fā)送函數(shù),最后發(fā)現(xiàn)行不通,所以才考慮用json字符串
STM32端
配置串口1,編寫中斷函數(shù)即可

1.png (935.96 KB, 下載次數(shù): 51)

STM32精英板

STM32精英板

2.png (722.9 KB, 下載次數(shù): 59)

openmv

openmv

openmv串口.png (68.53 KB, 下載次數(shù): 68)

openmv程序

openmv程序

STM32串口程序1.png (186.49 KB, 下載次數(shù): 68)

STM32串口程序1

STM32串口程序1

STM32串口程序2.png (104.46 KB, 下載次數(shù): 63)

STM32串口程序2

STM32串口程序2

Keil代碼下載,本人初學(xué),如有錯(cuò)誤請(qǐng)多多指點(diǎn).7z

735.98 KB, 下載次數(shù): 36, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +80 收起 理由
admin + 80 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表