K210与STM32单片机进行通信(数据包形式)

本文详细介绍了如何在K210和STM32单片机上打包和发送HEX格式数据包,包括串口配置、数据格式拆分、发送函数以及STM32的特定格式数据包发送与接收处理。

目录

1.K210如何打包发送HEX数据包

2.STM32如何发送特定格式数据包

3.STM32如何接收特定格式数据包

4.K210如何接收特定格式数据包


1.K210如何打包发送HEX数据包

1.1导入需要的库

from fpioa_manager import fm #用于映射IO口
from machine import UART   #用于串口配置 
from machine import Timer #用于产生定时器中断 用于读取是否接收到数据包 

1.2串口初始化及定义发送的数据格式

fm.register(17, fm.fpioa.UART1_TX, force=True)
fm.register(21, fm.fpioa.UART1_RX, force=True)

#8位数据位,无校验位,1位停止位 波特率115200 另外一个单片机的配置需要相同
uart_A = UART(UART.UART1, 115200, 8, 0, 1, timeout=1000, read_buf_len=4096)

class K210_transmit():
    head   = 0xAA
    x      = 256
    y      = 312
    end    = 0xAF

K210 = K210_transmit()

#单片机一般都是一个字节一个字节读取串口数据,所以我们要把数据一个字节一个字节的进行发送
#我们通常使用K210都是发送坐标数据给其它单片机,但是坐标范围明显超过了一个字节大小(255),所以把
#x,y坐标拆分成高8位和低8位发送,确保数据不会因为超出范围产生错误

def K210_data():
    data=bytearray([K210.head,
                K210.x>>8,K210.x,
                K210.y>>8,K210.y,
                K210.end])
    return data

1.3发送数据包

 uart_A.write(K210_data())

2.STM32如何发送特定格式数据包

STM32单片机的串口初始化我这里就不过多介绍了,相信大家学到了K210单片机,STM32自然是没有问题的,我们只需要将其配置为115200,8位数据位,无校验位,1位停止位即可。

void USART1_init(int botelv)
{
	RCC_APB2P
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值