前言
想用STM32通過串口給K210發(fā)數(shù)據(jù),并在屏幕上顯示,看了好幾篇博客,終于搞通了,大家感興趣也可以看看。
K210學(xué)習(xí)筆記(一) K210與STM32串口通信相關(guān)
接線,STM32的串口引腳比較固定,而K210就牛比了,任意映射,懶人福音。這里我找了兩個沒有被復(fù)用的IO,IO9和IO10
STM32 | K210 |
---|---|
GND | GND |
PA10(RXD) | IO10(TXD) |
PA9(TXD) | IO9(RXD) |
一、STM32端
我用的是正點原子STM32F103ZET6精英板
這個串口例程不用多說,幾乎所有的例程都是自帶的串口1,話不多說,主函數(shù)初始化后直接printf打印
printf("%.2f",temp_wendu);//打印
二、K210
k210端就更簡單了,比32還簡單。用的是microPython,語法就是Python。
引入相應(yīng)的模塊后,進行初始化。其中最重要還是編解碼,32那邊串口發(fā)過來的是字節(jié)數(shù)據(jù),是以UTF-8進行編碼的,所以K210端要進行UTF-8解碼才能正常顯示。
解碼之后你就可以進行數(shù)據(jù)類型轉(zhuǎn)換了,轉(zhuǎn)成浮點型或者int型的。
如果要發(fā)多個數(shù)據(jù),就需要定協(xié)議了,STM32這邊定一個協(xié)議,K210這邊也定一個協(xié)議。
這就需要大家去探索了。文章來源:http://www.zghlxwxcb.cn/news/detail-400823.html
import sensor
import image
import lcd
import time
import utime
from machine import UART
from fpioa_manager import fm
fm.register(10, fm.fpioa.UART1_TX, force=True)#映射串口引腳
fm.register(9, fm.fpioa.UART1_RX, force=True)#映射串口引腳
uart = UART(UART.UART1, 115200, 8, 1, 0, timeout=1000, read_buf_len=4096)
clock = time.clock()
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames(30)#跳過剛啟動開始的30幀照片
lcd.rotation(2)#LCD屏幕翻轉(zhuǎn),范圍是0~3
sensor.set_hmirror(True)#攝像頭鏡像
while True:
img = sensor.snapshot()#從攝像頭獲取一張圖片
read_data = uart.read(5)#讀取串口數(shù)據(jù),讀取5個字節(jié)
read_data=read_data.decode('utf-8')#進行utf-8解碼
if uart.read()!=None:
img.draw_string(2,2, ("temp=%s" %(read_data)), color=(0, 176, 80), scale=2)
lcd.display(img)
測試結(jié)果
這時我們可以看到,成功接收到了串口數(shù)據(jù),并且在LCD上顯示。從K210發(fā)個STM32也是一樣的。加個\r\n就行了。下次我們可以講一講。后續(xù)已更新,大家可以看一看
K210學(xué)習(xí)筆記(三) K210與STM32進行串口通信,K210發(fā)STM收文章來源地址http://www.zghlxwxcb.cn/news/detail-400823.html
到了這里,關(guān)于K210學(xué)習(xí)筆記(二) K210與STM32進行串口通信,K210收,STM32發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!