K210串口收发

整体代码:

from machine import UART
from Maix import GPIO
from fpioa_manager import fm
import utime

fm.register(GPIO.GPIOHS9,fm.fpioa.UART2_TX)
fm.register(GPIO.GPIOHS10,fm.fpioa.UART2_RX)

uart_A = UART(UART.UART2, 115200, 8, None, 1, timeout=1000, read_buf_len=4096)

write_str = 'get\r\n'

while(True):
    read_str = uart_A.read(10)  # 电脑-->K210
    print("%s",read_str)
    utime.sleep_ms(500)

    if read_str != None:
        uart_A.write(write_str) # K210-->电脑
    utime.sleep_ms(500)

效果展示:

程序解析:

1.库文件导入

from machine import UART
from Maix import GPIO
from fpioa_manager import fm
import utime

2.注册引脚

fm.register(GPIO.GPIOHS9,fm.fpioa.UART2_TX)
fm.register(GPIO.GPIOHS10,fm.fpioa.UART2_RX)

将引脚9注册为发生端,引脚10注册为接收端

GPIO9,10都是为高速引脚

3.创建UART对象

uart_A = UART(UART.UART2, 115200, 8, None, 1, timeout=1000, read_buf_len=4096)

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: 奇偶校验位,支持 Nonemachine.UART.PARITY_ODDmachine.UART.PARITY_EVEN (默认的 REPL 使用的串口(UARTHS)只支持 None), 默认 None
  • stop: 停止位, 支持 1, 1.52, 默认 1
  • timeout: 串口接收超时时间
  • read_buf_len: 串口接收缓冲,串口通过中断来接收数据,如果缓冲满了,将自动停止数据接收

返回值

  • UART对象

4.电脑收发K210

while(True):
    read_str = uart_A.read(10)  # K210-->电脑
    print("%s",read_str)
    utime.sleep_ms(500)

uart.read(num)    # 读取串口缓冲中的数据

参数

  • num: 读取字节的数量,一般填入缓冲大小,如果缓冲中数据的数量没有 num 大,那么将只返回缓冲中剩余的数据

返回值

  • bytes类型的数据

5.K210收发电脑

write_str = 'OK\r\n'
while(True):
    if read_str != None:
        uart_A.write(write_str) # 电脑-->K210
    utime.sleep_ms(500)

uart.write(buf)   # 使用串口发送数据

参数

  • buf: 需要发送到数据

返回值

  • 写入的数据量
  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值