结合uCOS-III和循环队列的串口数据收发方式,实时性好。
接收方面,使用STM32的总线空闲中断判断数据包接收完毕并发布消息,使用状态机检查数据包正误。
发送方面,采用中断的方式发送数据,避免程序死等数据发送完毕。
2024/11/18 11:41:43 542KB STM32 uCOS-III USART
1
STM32CUBE双串口空闲中断+DMA透传代码,拿到下载直接能用,U1:PA9PA10,U2:PA2PA3
2024/9/12 3:50:25 3.6MB STM32CUBE
1
代码是我从我们的工程文件中截取的一部分包括了stm32F407所有的6个串口的DMA空闲中断的配置函数以及中断函数。
使用者需要自行添加对应的处理函数代码主要是用于多个串口数据的处理,相比较于接受非空中断的形式CPU的性能发挥的会更好!
2024/2/24 18:31:30 489KB stm32f 串口 dma 不定长数据
1
stm32h743串口DMA+空闲中断,可接受不定长数据,代码中对容易出问题的地方做了完善处理。
2023/10/3 8:44:52 1.25MB stm32h DMA 空闲中断
1
stm32f103采集modbus寄存器,通过NB-UDP发送到云服务器,NB模块使用BC26,串口采集modbus使用了DMA空闲中断,与BC26通信使用了定时中断接收不定长数据,并有CRC校验,modbus有符号数据解析,使用stm32CubeIDE开发
1
使用stm32f103RCT6串口DMA空闲中断接收,DMA发送完整源码,修改串口只需修改对应宏定义即可
2023/7/1 16:21:09 2.91MB stm32F103 串口 DMA
1
stm32串口1串口2,DMA方式收发数据。
使用定时器定时查询DMA接收到的数据,当串口的数据空闲中断,将数据拷贝到缓冲区,交由其他程序处理。
可以接收任意大小的数据包。
本方法占用CPU时间极少,尤其是波特率很高时,效果愈加明显。
2023/1/30 10:53:57 1.21MB stm32 串口 DMA 收发
1
硬件:STM32F103、485接口。
功能:485收发数据。
流程:主程序中通过485发送数据,开启串口接收中断和空闲中断。
每接收到一个字节的数据产生串口接收中断,在接收中断中用数组保存接收到的数据。
每接收到一帧数据产生空闲中断,在空闲中断中将保存的数据发送出去(我是发送到串口调试助手显示)实验操作:下载程序,串口调试助手会显示预先用数组保存好的发送数据,而后通过串口调试助手上发送一串数据,程序会接收该串数据。
嗯。


为了检测程序接收到的数据能否正确,我又把数据发到串口调试助手显示以判断接收能否正常。



讲的这么详细了我觉得貌似可以不用下载了。


1
STM32F103VET6串口DMA+空闲中断接收,接收到的数据用DMA串口实时发送回去。
该版本存在一个bug,推荐下载另一个修复后的版本,或者参照我的博文本人进行修复。
修复版本下载链接:https://download.csdn.net/download/mickey35/13034788bug描述博文地址:https://blog.csdn.net/mickey35/article/details/78521311
2016/8/26 19:29:09 5.17MB STM32 串口 DMA 空闲中断
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡