你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 6409|回复: 7

【MCU实战经验】+基于STM32F103的串口收发数据速率慢

[复制链接]

8

主题

270

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-8-10
发表于 2014-4-1 21:19:21 | 显示全部楼层 |阅读模式
前序:本人用到的是STM32F103RBT6,在设计基于此MCU的产品时用到了其中的串口USART来与外部进行通信,按照常规进行相关常规的串口初始化设置和配置之后,想要把AD采集到的数据通过串口发送出去,用到的串口发送数据的函数是printf("\r\n The current AD value = 0x%04X \r\n", ADC_ConvertedValueLocal);,
问题:因为要发送的ADC_ConvertedValueLocal变量中的数据需要经过很多的运算和处理,比较费时间,因为比较耗时,当要求串口以一定的时间发送采集到的数据的时候发现发送几个数据之后就死机了,开始不知道什么原因,后经查找就是当以固定的时间调用printf()函数发送数据后,采集到的AD数据还要经过费时的运算处理,当运算处理的时间超过了调用printf()函数的时间,就出现死机,串口无法传送数据,或者是串口发送几个数据之后就停止不传了。由于调用printf()函数的时间已经固定好不能更改为其它的时间,采集的AD数据的运算处理时间也是已经设计好,不能再更好,貌似陷入了无法解决的境地。
解决:后在一步一步仿真进入printf()函数,printf()函数在执行串口的数据发送时其函数内部封装调用了函数int fputc(int ch, FILE *f),,实际是调用此函数进行发送数据的,考虑调用函数比较浪费时间,就直接把要收发的数据绕开printf()函数直接调用int fputc(int ch, FILE *f)函数,节省时间开支浪费。然后又改进了AD采集数据的运算处理尽量减少时间,问题解决了。哈哈,实际在调试中发现printf()函数确实是比较费点时间,大家在开发的过程中有没有发现这个问题。
回复

使用道具 举报

8

主题

270

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-8-10
 楼主| 发表于 2014-4-1 21:28:21 | 显示全部楼层

RE:【MCU实战经验】+基于STM32F103控制电路板设计

对STM32F103已经收悉的差不多,后面希望可以得到STM32F429探索套件能够更深入的了解和掌握STM32F4,为后续更高级的开发做好准备。
回复 支持 反对

使用道具 举报

307

主题

3125

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-17
发表于 2014-4-1 21:30:24 | 显示全部楼层

RE:【MCU实战经验】+基于STM32F103控制电路板设计

亲,要分享实战经验哦。只是说做过是不够的~
回复 支持 反对

使用道具 举报

8

主题

270

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-8-10
 楼主| 发表于 2014-4-15 22:31:16 | 显示全部楼层

RE:【MCU实战经验】+基于STM32F103控制电路板设计

有些技术问题涉及到侵权问题,不太好说的太过于详细啊。
回复 支持 反对

使用道具 举报

8

主题

270

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-8-10
 楼主| 发表于 2014-4-29 22:20:30 | 显示全部楼层

RE:【MCU实战经验】+基于STM32F103控制电路板设计

想问下ST的MCU有没有集成AD转换16位的,目前用到的内置的12位的感觉精度有点低,如果有内置16位的哪位知道推荐下,要不就只能外置16位的AD了。
回复 支持 反对

使用道具 举报

8

主题

270

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-8-10
 楼主| 发表于 2014-4-29 23:27:31 | 显示全部楼层

RE:【MCU实战经验】+基于STM32F103的串口收发数据速率慢

为了能够更好的写出实践经验,开始写的有点太过笼统,可能写的范围有点太大了,不好写的详细点,后发现在实际的开发过程中有很多某一个方面的问题,比较单独的,这样也不会涉及到研发产品的保密性问题,因此就更改了一下,希望管理员审核能够通过啊,目的也是想有机会体验下STM32F429探索套件,比较神往啊。
回复 支持 反对

使用道具 举报

8

主题

270

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-8-10
 楼主| 发表于 2014-4-30 22:00:27 | 显示全部楼层

RE:【MCU实战经验】+基于STM32F103的串口收发数据速率慢

忘了一点,由于STM32F103与外部通信的模块通信的速率预先已经设定好,不能够去更改,所以更改波特率的方法行不通。
回复 支持 反对

使用道具 举报

8

主题

270

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-8-10
 楼主| 发表于 2014-4-30 22:07:24 | 显示全部楼层

RE:【MCU实战经验】+基于STM32F103的串口收发数据速率慢

另一个项目用到了摄像头,由于摄像头采集图像需要处理的信息比较大,用STM32F103速度有点跟不上,希望能够用STM32F4能够解决,其中也用到一些浮点运算,应该能够发挥STM32F4的长处。
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版