前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cubemx+stm32串口学习汇总资料

cubemx+stm32串口学习汇总资料

作者头像
用户4645519
修改2020-09-07 11:23:59
6850
修改2020-09-07 11:23:59
举报
文章被收录于专栏:嵌入式学习嵌入式学习

这篇文章是串口中断的文章——STM32基于CubeMX的高速串口收发程序(中断模式)比较有帮助。 http://www.stmcu.org.cn/module/forum/thread-616613-1-1.html 看到大家经常写一些关于串口的问题,我也尝试开一个使用串口的工程。 简单的要求是,USART1和USART2之间互相转发。 发现使用CubeMX平台,建立测试工程没有难度,情况如下:

1. 配置管脚,使用BluePill最小板,PC13接有LED: MCU是STM32F103C8T6,这个不重要. 不要忘记配置SWD调试接口。

(看得出,中断里面是收到一个字符发送一个字符。 发送是直接发送,不处理发送中断。) 大功告成了!! 编译后烧录。

测试条件,使用两个UART转USB板子(FTDI)和sscom5上位机程序(开两个),发送区都摆放700多个字符,以10ms的间隔连续发送。 测试结果,速度115200bps和1Mbps,双向同时收发100万字符无差错。 2Mbps,单方向100万字符无差错。 (高速测试时,需要修改main.c里面的串口速度BaudRate配置。 我没有测试“自动波特率”的模式是否正常。)

最后,完整的工程见附件。

此外,http://www.waveshare.net/study/article-644-1.html 微雪教程也是很不错的学习cubemx的资料。这里讲述了两个实例的手把手过程,空闲中断提供了源码,这个移植到了C8T6中,可以实现单片机接收串口助手发送的消息,然后,发送会串口助手中。 中断接收的方式也可以按照网页的步骤完成。这个比较简单。如果接收的数据比较频繁,100ms以内发送一次,那比较适合空闲dma接收,如果300mx以上发送一次,则中断接收没问题,stm毕竟是世界级的厂商。可靠性还是可以的。上面例程中以10ms的间隔连续发送,单方向100万字符都无差错。当然系统工程大了还是需要考虑的,否则cpu比较满负荷。 数据量大的首选空闲+dma方式。

[原创] STM32基于CubeMX的高速串口收发程序(DMA模式)http://www.stmcu.org.cn/module/forum/thread-619702-1-1.html 这个文章的说明如下: 周末有时间,测试了一下STM32F103的DMA串口收发程序,基于CubeMX的,结果却是令人大失所望。

我在去年,测试了一下【中断模式】的,结果是速度超快。 速度115200bps和1Mbps,双向同时收发100万字符无差错。 2Mbps,单方向100万字符无差错。 详情请见: STM32基于CubeMX的高速串口收发程序(中断模式)

那时就有网友,问我为什么不用DMA模式,我也认为DMA的好处多多,只是没有时间验证一下。 现在,我得到的结果是,DMA模式用在UART这种低速外设上面,可能性能并不好,不如中断模式的。 请网友们给看一看,希望我的代码有问题。 先说我的测试结果吧: STM32F103C8T6 Bluepill板,MCU时钟72MHz,用CubeMX配置出DMA模式的两个串口收发。 添加少量代码,就做成了两个串口互相收发。 与上面说的中断模式的用法一样。 结果是,115200波特率,以10ms间隔发送接收40个字符,单方向正常,双方向同时收发就丢失数据。 如果时间间隔放到200ms,双方向同时收发,也能正常了。

下面,看看我用的代码: CubeMX的配置过程,就不累叙了,附件里面有配置文件。 上面的代码,也是参考了网上网友的帖子。 希望网友指出问题,和给出更好的代码方案。 也还听说串口DMA有三种方法,我这里用的只是其中之一的“空闲中断”法。

附完整代码:

今天,有做了一些测试。从使用的角度来看,一楼附件的程序是可以使用的,只要, 1. 数据包长度不超过DMA缓存的长度。2. 发送的间隔不少于200ms。 就可以115200双向同时收发无差错。

至于单方向收发,1Mbps,2Mbps,都没有问题的,放心使用。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档