亚博智能K210模块与stm32串口通信

一、K210发送

k210模块串口引脚分配如图 1

图1

 k210端代码如下

from machine import UART
from fpioa_manager import fm
import time

fm.register(8, fm.fpioa.UART1_TX, force=True)
fm.register(6, fm.fpioa.UART1_RX, force=True)

uart_A = UART(UART.UART1, 115200, 8, 0, 0, timeout=1000, read_buf_len=4096)

open_str = '1'
close_str = '2'
read_data = uart_A.read()
while(1):
    uart_A.write(open_str)
    uart_A.write(close_str)

 如图2所示,示波器成功收到k210的TX信号

图2

二、stm32接收

图3

如图3,stm32f103vct6的串口1对应PA9,PA10管脚

图4

如图4,stm32f103vct6的I2C1_SCL对应PB6,I2C1_SDA对应PB7。接下来要给STM32配置好4引脚的0.96''OLED显示屏来显示串口收到的数据,用的是野火指南者的资料,接线接好后例程直接就可以顺利跑起来了,效果如图5,另外还发现一个好酷的小彩蛋hhh如图6

图5

图6

三、maixhub生成代码串口发送

以下代码仅为串口发送相关代码,完整代码在文末 

def init_uart():
    fm.register(8, fm.fpioa.UART1_TX, force=True)
    fm.register(6, fm.fpioa.UART1_RX, force=True)

    uart = UART(UART.UART1, 115200, 8, 0, 1, timeout=1000, read_buf_len=256)
    return uart
class Comm:
    def __init__(self, uart):
        self.uart = uart

    def send_classify_result(self, pmax, idx, label):
        msg = "{}:{:.2f}:{}\n".format(idx, pmax, label)
        self.uart.write(msg.encode())
        print(msg.encode())
def main(labels = None, model_addr="/sd/m.kmodel", sensor_window=input_size\
, lcd_rotation=0, sensor_hmirror=False, sensor_vflip=False):
        try:
            comm.send_classify_result(pmax, max_index, labels[max_index].strip())
print(msg.encode())

上面这句打印出的编码如图7(默认为UTF-8编码 )

图7

附上encode()方法的说明:

Python encode()方法 | 菜鸟教程 (runoob.com)

图8

图8中展示了uart方法的配置参数,本文中使用的是115200波特率,8位数据,0校验位,1停止位,如下:

uart = UART(UART.UART1, 115200, 8, 0, 1, timeout=1000, read_buf_len=256)

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值