前言
想用STM32通过串口给K210发数据,并在屏幕上显示,看了好几篇博客,终于搞通了,大家感兴趣也可以看看。
K210学习笔记(一) K210与STM32串口通信相关
接线,STM32的串口引脚比较固定,而K210就牛比了,任意映射,懒人福音。这里我找了两个没有被复用的IO,IO9和IO10
STM32 | K210 |
---|---|
GND | GND |
PA10(RXD) | IO10(TXD) |
PA9(TXD) | IO9(RXD) |
一、STM32端
我用的是正点原子STM32F103ZET6精英板
这个串口例程不用多说,几乎所有的例程都是自带的串口1,话不多说,主函数初始化后直接printf打印
printf("%.2f",temp_wendu);//打印
二、K210
k210端就更简单了,比32还简单。用的是microPython,语法就是Python。
引入相应的模块后,进行初始化。其中最重要还是编解码,32那边串口发过来的是字节数据,是以UTF-8进行编码的,所以K210端要进行UTF-8解码才能正常显示。
解码之后你就可以进行数据类型转换了,转成浮点型或者int型的。
如果要发多个数据,就需要定协议了,STM32这边定一个协议,K210这边也定一个协议。
这就需要大家去探索了。文章来源:https://www.toymoban.com/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屏幕翻转,范围是0~3
sensor.set_hmirror(True)#摄像头镜像
while True:
img = sensor.snapshot()#从摄像头获取一张图片
read_data = uart.read(5)#读取串口数据,读取5个字节
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)
测试结果
这时我们可以看到,成功接收到了串口数据,并且在LCD上显示。从K210发个STM32也是一样的。加个\r\n就行了。下次我们可以讲一讲。后续已更新,大家可以看一看
K210学习笔记(三) K210与STM32进行串口通信,K210发STM收
文章来源地址https://www.toymoban.com/news/detail-400823.html
到了这里,关于K210学习笔记(二) K210与STM32进行串口通信,K210收,STM32发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!