react android 串口,Maix Bit(K210) 与上位机串口通信
串口通信
1、K210 UART
1.1 、串口通信函数
1.2 、常用函数
3、代码
4、效果展示
准备工具 K210开发板
USB转TTL串口 (俗称ISP烧录器)
串口助手
其实Maix Bit 是自带CH552 芯片的,烧录程序使用,如果把代码烧录在flash或者保存在SD卡里面,不使用MaixPy IDE连接开发板,那么这个TX 、RX端口就会空出来(下面图示原理图标注了自带TX、TX),可以不使用USB转TTL就可以实现串口通信,如果既要连接用MaixPy IDE,又想要在串口助手收到数据,那么就需要一个USB转TTL。
附图USB转TTL(类似这种就可以):
实现Maix Bit 与上位机串口通信,在串口助手发送消息,Maix Bit 开发板在接收到消息之后转发到上位机,实现串口通信。
1、K210 UART
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,UART 模块主要用于驱动开发板上的异步串口。k210 一共有3个 UART,每个 UART可以进行自由的引脚映射。
1.1 、串口通信函数
K210可以自己随意的配置I/O口,类似FPGA,不像其它类型的单片机串口是固定好的。在使用 uart 前,我们需要使用 fm 来对芯片引脚进行映射和管理。我使用引脚9和引脚10分别做为UART1_TX和UART1_RX。如果想不使用USB转TTL,那么把引脚修改为原理图所示引脚即可4、5(这个一定要和开发板对应,不能错),然后把代码烧录到flash或者保存到SD卡,也可以实现与上位机串口通信。
fm.register(9, fm.fpioa.UART1_TX, force=True)
fm.register(10, fm.fpioa.UART1_RX, force=True)
构造函数,其实就是配置端口:
uart = machine.UART(uart,baudrate,bits,parity,stop,timeout, read_buf_len)
参数:
uart UART 号,使用指定的 UART,可以通过 machine.UART. 按tab键来补全
baudrate: UART 波特率
bits: UART 数据宽度,支持 5/6/7/8 (默认的 REPL 使用的串口(UARTHS)只支持 8 位模式), 默认 8
parity: 奇偶校验位,支持 None, machine.UART.PARITY_ODD, machine.UART.PARITY_EVEN (默认的 REPL 使用的串口(UARTHS)只支持 None), 默认 None
stop: 停止位, 支持 1, 1.5, 2, 默认 1
timeout: 串口接收超时时间
read_buf_len: 串口接收缓冲,串口通过中断来接收数据,如果缓冲满了,将自动停止数据接收
如下是我自己构造的函数:
uart_A = UART(UART.UART1, 115200, 8, 1, 0, timeout=1000, read_buf_len=4096)
1.2 、常用函数
用于读取串口缓冲中的数据
uart.read(num)
用于使用串口发送数据:
uart.write(buf)
在python3中. 默认的编码是unicode,我们的字符串就是unicode。unicode弊端:在存储和传输的时候是很浪费的
在存储和传输的时候不能直接使用unicode。 必须要对字符串进行编码. 编码成bytes类型(字节形式的字符串),在K210中默认是bytes类型的。解码和编码在物联网通信处理服务器数据是很重要的。
解码:
read_data是保存的已经收到的数据
read_data.decode('utf-8')
编码:
read_data.encode("utf-8")
3、代码
from fpioa_manager import fm
# need your connect hardware IO 9/10 to loopback
fm.register(9, fm.fpioa.UART1_TX, force=True)
fm.register(10, fm.fpioa.UART1_RX, force=True)
from machine import UART
uart_A = UART(UART.UART1, 115200, 8, 1, 0, timeout=1000, read_buf_len=4096)
import time
time.sleep_ms(100) # wait uart ready
uart_A.write(b'hello world')
:
if uart_A.any():
.any():
read_data = uart_A.read()
print("recv = ", read_data) # 输出收到的数据
uart_A.write(read_data+"r")
#break
time.sleep_ms(10) # ohter event
uart_A.deinit()
del uart_A
4、效果展示
react android 串口,Maix Bit(K210) 与上位机串口通信相关推荐
- 基于VS2015,MFC平台的上位机串口程序搭建详细教程(兼容debug x64、win32 、x86等解决方案平台)
通常在32位编译环境下,我们可以通过插入MFC串口控件(MSCOMM32.OCX)的方式来实现串口通信,但是MSCOMM32.OCX不支持64位编译环境,也就是说,在x64解决方案平台下会报错.为此, ...
- C#上位机——串口发送
C#上位机--串口发送 第一步:搭建框架 第二步:设置属性 第三步:编写代码,实现各个模块之间的联系和功能. using System; using System.Collections.Generi ...
- Labview上位机串口通信-读写
使用VISA进行串口通信: (1)相关配置:串口资源(波特率等设置).VISA的打开.配置(接收和发送缓冲区).调用属性结点(一有字节出现就马上接收,或者发送) (2)读取部分:首先依据协议进行包头的 ...
- QT 篇 QT上位机串口编程
QT 篇 QT上位机串口编程 最近因为项目需要,需要用到上位机,通过串口与上位机进行通讯,来上传和下发一些数据以及控制指令,所以用QT写了一个上位机,并记录下来,免得到时候要用又到处翻资料. QT版本 ...
- 兴达易控MPI转光纤模块应用-300PLC与远端3公里外地上位机MPI通信
兴达易控MPI转光纤模块应用-300PLC与远端3公里外地上位机MPI通信 本案例介绍现场的一台300 313c的一款PLC 利用兴达易控生产的MPI转光纤与三公里以外的组态王实现MPI通信 案例背景 ...
- matlab上位机串口通信,MATLAB GUIDE 上位机串口通信开发 绘制图形
本人因项目需求,需要开发这个串口通信上位机界面,用于实时绘制串口发送过来的数据.本人之前基本没使用过MATLAB,也就知道个zeros(100)这种在命令行窗口中输入的函数.至于MATLAB能开发图形 ...
- php写串口上位机,QT5串口编程—编写简单的上位机
最近在学习嵌入式,而上位机又是一个不可缺少的工具,于是就开始接触QT,学习编写上位机.刚开始的时候什么都不懂,发现<Qt 学习之路 2>有比较好的入门教程.学习了前面部分,对QT有了大概的 ...
- QT5串口编程——编写简单的上位机
下面开始介绍串口类的使用. 首先,QT5是自带QSerialPort这个类的,使用时需要在pro文件里面添加一行: 然后直接引用头文件就可以了. 在QT5中,串口通信是借助一个QSerialPor ...
- 用python做一个上位机串口通信_【教程】简易Python上位机之LED控制
电子爱好者应该不会对"上位机"这个词感到陌生,毕竟或多或少有过接触.但若是说到上位机的开发的话,大家就不一定熟悉了.很多电子爱好者完全没有接触过上位机的开发工作,他们真的没有相应的 ...
最新文章
- linux虚拟机漏洞修复,linux幽灵漏洞检测和修复方法
- [转载]基于数据挖掘技术入侵检测系统研究
- 分布式与人工智能课程(part3)--第三课
- jquery中的ajax方法(备忘)
- 飞鸽推广的超级商务微博的栏目介绍(二)
- 19 MM配置-BP业务伙伴-定义编码范围
- android LinearLayout和RelativeLayout实现精确布局
- 检测电脑硬件的软件_慎用优化软件 不然I7也会卡
- 用new创建一个二维数组,有两种方法,是等价的
- redmine cannot load such file – rbpdf-font
- webpack ,require.ensure配合oclazyload 实现ng1模块懒加载
- nlu 意图识别_在NLU中,您无视危险的意图
- MySQL(6)-----数据类型
- Java调用Gdal写Esri ShapeFile文件工具类
- One More Check: Making “Fake Background” Be Tracked Again
- 斐波那契数列各种方法求解
- 在网络世界中如何才能保护好自己的安全?
- 三维建模之太空战舰——我们的征途是星辰大海!
- 重庆顶味香手把手教你做重庆肥肠面!几个小妙招秒杀路边面馆
- ZigBee的无线通信与网络组建
热门文章
- vue 保留小数点厚一位_h5上完美支持自定义输入小数点前多少位和小数点后多少位(vue)...
- 平均无故障时间100万小时_【行业动态】三菱J系列重型燃气轮机达新里程碑:100万商业运行小时数...
- html让图片自动旋转360,html5 canvas 360图片旋转制作抽奖转盘代码
- css3切角文本框_CSS3:linear-gradient切角画册
- 5-10多分支网络结构
- 3-15Pytorch与分布函数
- java jpanel 叠加_java – 如何在JPanel上叠加,调整大小和居中组件?
- 制造业数字化转型的困难_智能制造如何助力企业转型升级?百家制造业企业共谋数字化转型路...
- static在php中,php中static关键字在类中的使用
- c语言 结构体 选择题,C语言结构体共用体选择题(新).doc