K210学习笔记 K210与STM32进行串口通信,K210收,STM32发

Posted 学工科的皮皮志^_^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K210学习笔记 K210与STM32进行串口通信,K210收,STM32发相关的知识,希望对你有一定的参考价值。

文章目录

前言

想用STM32通过串口给K210发数据,并在屏幕上显示,看了好几篇博客,终于搞通了,大家感兴趣也可以看看。
K210学习笔记(一) K210与STM32串口通信相关
接线,STM32的串口引脚比较固定,而K210就牛比了,任意映射,懒人福音。这里我找了两个没有被复用的IO,IO9和IO10

STM32K210
GNDGND
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这边也定一个协议。
这就需要大家去探索了。

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收

以上是关于K210学习笔记 K210与STM32进行串口通信,K210收,STM32发的主要内容,如果未能解决你的问题,请参考以下文章

K210学习笔记 K210与STM32串口通信相关

K210学习笔记 K210同时运行多个模型

K210学习笔记 K210同时运行多个模型

K210实战三-串口收发实验

K210实战三-串口收发实验

关于 k210 的 micropython 添加 ussl 模块,实现 https 访问支持的那些事。