写在前面
小白入门K210,网上资料感觉都很少,而且只有一个文档,对自己而言看这种文档,简直就是完全不入脑 ,现在也只是入门的菜鸟阶段,分享一下自己学习的收获,希望对你有所帮助
K210的串口通信的准备
K210虽说是一个单片机,可是内存太小了,运行过多代码就会没内存卡死,所以我个人觉得K210的主要作用就是完成视觉任务后利用串口向主控(如Stm32)发送数据包,主控提取数据包并进行对应的处理。
在没有主控的情况下,如何在电脑查看K210是否发送数据成功呢,所以我们要准备以下的工具
1.USB转TTL
2.K210
3.串口助手软件(我这里用的是江科大的串口助手)
4.母对母杜邦线
K210串口通信
1.导包
打开MaixPy IDE开始写代码,首先是进行导包,导入所需用到的包
from machine import UART#导入串口模块
from fpioa_manager import fm#用于引脚重映射
import time#时间模块
2.引脚映射
由由于K210的引脚可以自由映射(除去个别引脚有定义),因此我们可以选1号和2号引脚映射为K210的TX和RX端口
#将1、2号引脚强制转换为TX和RX端
fm.register(1, fm.fpioa.UART1_TX, force=True)
fm.register(2, fm.fpioa.UART1_RX, force=True)
3.创建一个串口对象
波特率为9600,这一个波特率一定要和接收数据包的波特率一致
uart_A = UART(UART.UART1, 9600, 8, 1, 0, timeout=1000, read_buf_len=4096)#串口对象
4.发送字符串Hellow World
uart_A.write("Hellow World")
以下是完整代码
from machine import UART#导入串口模块
from fpioa_manager import fm#用于引脚重映射
import time#时间模块
#将1、2号引脚强制转换为TX和RX端
fm.register(1, fm.fpioa.UART1_TX, force=True)
fm.register(2, fm.fpioa.UART1_RX, force=True)
uart_A = UART(UART.UART1, 9600, 8, 1, 0, timeout=1000, read_buf_len=4096)#串口对象
while True:
uart_A.write("Hellow World")
如何在电脑的串口助手查看
1、将母对母杜邦线接入USB转TTL的GND、RXD、TXD三个引脚
2、将剩下一端的杜邦线接口接入K210的GND,1号引脚和2号引脚,USB转TTL的GND接入K210的GND,USB转TTL的TX接入K210的RX引脚,USB转TTL的RX接入K210的TX引脚,就是TX接RX,RX接TX,不要将这两个搞反了。我们上面将1号引脚定义为TX端,2号引脚定义为RX端。
因此就是,K210的1号引脚接USB转TTL的RX,K210的2号引脚接USB转TTL的TX,USB转TTL的GND接入K210的GND
3、USB转TTL的USB接口插入电脑,然后将打开串口助手软件,选择好串口号(因为此时K210也是连接着电脑,要搞清楚是哪个串口,否则会出现串口占用无法打开串口),然后选择好串口配置,MaixPy IDE运行代码,之后就可以查看串口助手接收到的数据啦,如果硬件连接没有问题,串口助手就能收到Hello World这一个字符串(接收字符串,串口助手的配置别忘记是文本模式,UTF-8哦)