- 博客(6)
- 收藏
- 关注
原创 STM32 485出现漏包 丢包 解决方法
使用USB转485工具,能将数据完整的实现收发功能,但与主板连接后,却会出现丢包、漏包的情况。总结了这些出错的原因,然后再回头看自己编写的代码,发现自己的代码只对数据包的报文头进行了判断,这容易导致乱码、漏一个字节这种偶然事件的影响。这个情况当然是不被允许的,是不对的,是错误的。所以就查阅资料,发现485通讯是容易出问题的,容易被干扰的,和收发芯片的硬件也会有关系等。解决方案:增加判断机制,增加代码的健壮性,对数据包中的头尾、长度、校验位各级进行判断机制后,数据收发就逐渐稳定。
2024-03-27 10:16:14
1441
1
原创 基于STM32L4X-UART+DMA数据收发
-此函数获取dma_uart2_rx的接收通道中的空闲大小,如果需要求的实际大小,需要将开始设置DMA接收大小减去该函数得到的空闲大小。UART空闲中断:在串口无数据接收的情况下,不会产生,当清除IDLE标志位后,必须有接收到第一个数据后,才开始触发,一但接收的数据断流,没有接收到数据,即产生IDLE中断。__HAL_UART_ENABLE_IT(&huart2,UART_IT_IDLE),这个函数是使能空闲中断,在这里的意思是使能uart2的串口空闲中断。在这为,获取uart2中的空闲中断的标志。
2024-03-12 16:58:11
476
1
原创 DS18B20Z例程代码
DS18B20系列芯片的使用难点在于时序的把控,时序的话需要我们通过芯片手册去了解,我搜索芯片手册的方式是通过嘉立创去搜索对应芯片里面会提供芯片手册。DS18B20系列芯片对时序有着比较高的要求,我们先来设置延迟函数,这里是通过定时器来完成延迟函数。基于STM32L431RCT6,配置时钟为80MHZ。一.配置时钟和延迟函数。
2023-08-04 11:42:04
141
1
空空如也
vscode SHH连接
2024-07-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人