STM32解决空闲中断误触发问题.

2024-05-05 13:36

本文主要是介绍STM32解决空闲中断误触发问题.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在用串口传输大量数据时,发现空闲中断误触发

        我是在做用串口将大量数据传入MCU这易操作时,发现一帧数据还没发完成,就进如来空闲中断,导致数据不完整,有点数据混乱了。

        参考别的博主说法,在1个或1.5个字节时间内没有检测到新的数据,则会触发空闲中断。但是这个空闲检测时间太短了,也没有办法调节,很容易导致误触发空闲中断(在环境噪声干扰多的情况下),这一点不是特别好。

        

       解决办法是降低波特率,降到9600,不会导致误触发空闲中断,但是数据传输会非常慢,接收14KB数据量需要大约13秒的时间,是牺牲了时间换来正确率。

        再不然放弃使用空闲中断,轮询判断是否完成所有接收。空闲中断应用到少量数据时是比较合适的,大量数据和高波特率会非常容易接收错误。

这篇关于STM32解决空闲中断误触发问题.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961851

相关文章

十个问题带你了解和掌握java HashMap

十个问题带你了解和掌握java HashMap 一、前言 本篇内容是源于 “ 由阿里巴巴Java开发规约HashMap条目引发的故事”,并在此基础上加了自己的对HashMap更多的思考认识和整理。并且作为一名java开发工程师,应该是要了解和掌握的这些知识! 在《阿里巴巴java开发规约中》提到: 【推荐】集合初始化时,指定集合初始值大小。 说明:HashMap使用如下构造方法进行初始化

一个因MySQL大小写敏感导致的问题

做一个积极的人 编码、改bug、提升自己 我有一个乐园,面向编程,春暖花开! 文章目录 00 MYSQL对大小写敏感01 一个表字母大小故事lower_case_file_systemlower_case_table_names 02 注意事项03 总结04 参考资料 00 MYSQL对大小写敏感 见字如面,见标题知内容。你有遇到过因为MYSQL对大小写敏感而被坑的体验

共勉:作为一名程序员你应该怎么提一个高质量的问题?

做一个积极的人 编码、改bug、提升自己 我有一个乐园,面向编程,春暖花开! 又是一个周五,今天依旧不分享技术,这几天不知道怎么,感觉有点累,昨天十点就睡觉了,很久没有这么早睡觉了。现在已经是晚上10点了,我还在码字中,今天争取早点睡觉。今天整理一点关于如何提问的内容,因为最近一段时间有一些技术朋友加我好友,一起探讨一些技术问题。但是一些伙伴加我之后,提问的姿势可能有点不太正确,导致聊了很

STM32 标准库3.5修改默认外部8M晶振为16M晶振

ST官方标准库V3.5默认的外部晶振频率为8M,实际使用中外部晶振需要修改为16M; 经过实验,修改有效,具体的patch如下: 修改 HSE_VALUE 值 diff --git "a/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h" "b/Libraries/CMSIS/CM3/DeviceSupport/ST/STM

STM32 IAP 升级官方资料汇总

整理了一下SMT32标准外设库进行IAP升级的官方demo; 标准库版本 STM32F10xxx in-application programming using the USART (AN2557) STM32F2xx in-application programming using the USART (AN3374) STM32F4 in-application programming

Jekyll 解决Jekyll server本地预览文章not found的问题

layout: post tags: [Jekyll] comments: true 执行Jekyll本地浏览器预览指令 bundle exec jekyll serve 进入浏览器输入127.0.0.1:4000,可以正常浏览首页,但是点击文章链接,则会显示404页面,查看控制台显示错误的log,如下: PS D:\work\github\test\_site> bundle e

STM32 TIM 多通道互补PWM波形输出配置快速入门

platform:stm32f10xxx lib:STM32F10x_StdPeriph_Lib_V3.5.0 前言 在做三相逆变的时候,需要软件生成SVPWM波形,具体的算法需要产生三对互补的PWM,这样可以驱动六个开关元件,stm32f103中的TIM1高级定时器支持产生三路互补PWM波形,下面进一步学习。 PWM产生的原理 TIM1的OC模块,可以产生PWM波形,具体步骤; 寄存器

STM32 TIM1高级定时器配置快速入门

layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true重点内容时基单元计数模式 重点内容 不管是基于标准库还是直接操作寄存器,因为TIM定时器的功能比较多,这里单纯只从定时器的角度进行学习,这里需要重点关注的地方应该有以下几点: 定时器时钟频率的计算

STM32 ADC多通道规则采样和注入采样

layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true什么是ADC?STM32 ADC的特性采样模式采样时间代码实现 什么是ADC? Analog to Digital Converter,将模拟信号转换成数字的模数转换器,后面可能还会接触到DAC,恰

STM32 时钟树配置快速入门

layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true为什么要了解时钟树?树的根标准库的时钟配置外部时钟源16MSetSysClockTo72patch 其他细节 为什么要了解时钟树? 最近项目开发的时候,外部时钟源是16MHz,结果配置错了系统时钟,