视觉识别模块
0、学前先看&供电说明
1、固件下载与烧录
2、安装编程环境
3、调试运行例程
4、离线运行例程
5、Micropython 快速入门
6、GUI程序使用说明
7、二维云台安装教程
8、FPIOA引脚分配
9、RGB灯
10、蜂鸣器
11、按键
12、串口通信
13、I2C通讯
14、PWM
15、WDT看门狗
16、定时器计时
17、傅里叶变换
18、SHA256加密
19、AES加密
20、多线程
21、文件读写
22、图像显示
23、触摸显示
24、摄像头显示
25、图像翻转
26、照相机
27、绘制圆形
28、绘制矩形
29、绘制椭圆
30、绘制箭头
31、绘制十字准心
32、绘制文字
汝城县职业中等专业学校知识库-信息中心朱老师编辑
-
+
首页
12、串口通信
 ## 简介 本节我们介绍通过K230的串口与上位机进行通信 这里我们需要用到一个【USB转TTL模块】以及一根【PH2.0 4Pin转杜邦散头2.54(公转母,200mm)】 > 因为本节教程中,我们会使用电脑作为和K230通信的设备,而现代电脑通常只有USB接口,不直接提供TTL串口,所以我们需要使用一个USB转TTL模块进行 “翻译” ## 接线  ## 快速开始 ### 打开串口助手 在配套资料的【0.开发板资料】中,双击运行 UartAssist.exe 串口助手  打开之后,我们在①处选择USB转TTL模块在电脑中显示的串口号 > 一般情况下这个串口号会以CH340结尾 > >  > > 最快速的判断方法是通过拔出USB转TTL和插上之后进行对比,**拔出后消失的串口号就是USB转TTL的串口**   ### 运行代码 我们打开 CanMV IDE,将 K230 连接至电脑。 按 Ctrl + N 键新建一份代码,并删除所有自动生成的代码内容 复制下面的代码并粘贴到IDE中 \[ 源码汇总 / 02.Basic / 05.uart.py \] \# 导入串口通信库 \# (Import Yahboom UART communication library) from ybUtils.YbUart import YbUart \# 创建串口实例,设置波特率为115200 \# (Create UART instance with baud rate set to 115200) \# 波特率是指每秒传输的比特数,115200是常用的高速通信速率 \# (Baud rate refers to bits per second, 115200 is a commonly used high-speed communication rate) uart = YbUart(baudrate\=115200) \# 发送数据到连接的设备 \# (Send data to the connected device) \# 发送字符串"Hello Yahboom"并附加换行符 \# (Send the string "Hello Yahboom" with a newline character) uart.send("Hello Yahboom\\n") \# 无限循环,持续监听串口数据 \# (Infinite loop to continuously monitor serial port data) while True: \# 读取串口接收到的数据 \# (Read data received from the serial port) \# 如果没有数据,将返回None或空字符串 \# (If no data is available, it will return None or an empty string) data = uart.read() \# 检查是否接收到数据 \# (Check if data was received) if data: \# 将接收到的数据打印到控制台 \# (Print the received data to the console) print(data) \# 注意:由于上面的无限循环,这段代码实际上永远不会执行 \# (Note: Due to the infinite loop above, this code will never execute) \# 关闭串口,释放资源 \# (Close the UART and release resources) uart.deinit() 点击CanMV IDE左下角的绿色的运行按钮 可以观察到,串口助手中接受到了K230发送的消息  > 对应代码中的 > > uart.send("Hello Yahboom\\n") 然后我们尝试用串口助手向K230发送信息  观察到CanMV IDE的串行终端中有如下输出  > 这里有几个常见的问题: > > 1. 为什么字符串是一个 b'xxxxxxxxxx (发送的内容)'的格式 ? > > 答:接收到的信息默认是bytes的数据类型。可以使用.decode方法转为字符串 > > 注意,这里暂时不能接收中文字符 > > 2. 为什么逗号","变成了 "\\xef\\xbc\\x8c" ? > > 答:因为发送的时候使用的是中文的逗号,中文字符的bytes形式就是这样的。 > > \*更新:read方法中,设置decode=True可以正常解析大部分的中文字符了 > > 3. 为什么分为了两行? > > 因为默认的接受缓冲区大小为128字节,超出缓冲区大小的就会作为新的一次接收 > > * 缓冲区大小可以修改 ## 常见问题 & 补充 ### USB转TTL模块 为什么 K230 和 电脑通信需要USB转TTL模块? 1. 接口差异:K230的通信几口使用TTL(晶体管-晶体管逻辑)串口通信,而现代电脑通常只有USB接口,不直接提供TTL串口。 2. 电平转换:TTL串口使用的是0V和3.3V/5V的电平标准,而USB使用不同的电平标准。USB转TTL模块可以安全地转换这些电平,防止硬件损坏。 3. 驱动支持:USB转TTL模块内置了必要的电路和芯片(如CH340、CP2102、FTDI等),能够让电脑将USB连接识别为虚拟串口(COM端口)。 这个模块本质上是一个"翻译器",让使用不同通信标准的设备能够顺利交换数据。 ### 关闭串口助手 在默认情况下,点击右上角关闭按键,串口助手不会彻底关闭,而是隐藏到了系统右下角托盘图标处  在串口助手没有完全关闭的时候,如果你重新打开了一个串口助手软件,点击【打开】,会报错串口被占用
admin
2025年12月30日 14:12
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期
AI