stm32串口发送数据的配置,以及通过串口发送结构体数组总是多一个00字节的问题--已解决

本文讲述了在使用STM32F030F4P4开发板进行串口通信时遇到的结构体数组发送数据时多一个00字节的问题。通过排查发现,该问题是由于32位单片机的字节对齐导致的。解决方法是将结构体对齐方式改为1字节对齐,以避免因数据补零引发的帧格式错误。了解单片机数据存储方式对于避免此类问题至关重要。
摘要由CSDN通过智能技术生成

最近用stm32编写串口发送程序,在硬件方面需要做如下准备:

1.stm32开发板,这里我的是stm32f030f4p4开发板,单片机的串口发送的引脚为PA9-TX,PA10-RX。

2.为了调试串口,我们需要用到串口调试助手,实现单片机的串口和串口助手的通信。

3.如何实现软件串口助手和硬件单片机的连接呢,我们还需要一个 USB-TTL,即 没有串口的 电脑,用 USB 接口 与 TTL 电平的 设备相连接。

4.所以只要 串口助手连接上USB接入后的COM口,TTL输出的电平连接上MCU的串口引脚就行了。

需要注意的是:MCU RX ------ TTL TX    串口发送,单片机接收

                         MCU TX  -------  TTL RX   单片机发送,串口接收

千万别别错了,否则怎么都调不出数据。

剩下的就是编写单片机的串口程序了,由于我串口的通信协议是modbus,是按照一定的格式来的,因此我采样的结构体数组来存放单片机串口接收和发送的数据。

但是这样定义我就忽略了一个非常重要的问题,导致我在调试串口的时候花费了好几天,下面我会具体说到

用的时候在函数里面声明一下

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值