为什么串口传输STM32采样数据,一个周期数据太少

stm32l4r5过采样,41.64khz采样率,采样50hz的市电,理论上应该一个周期采800个点,但实际上我的串口输出只有10个点,波特率是115200,请问怎么样解... stm32l4r5过采样,41.64khz采样率,采样50hz的市电,理论上应该一个周期采800个点,但实际上我的串口输出只有10个点,波特率是115200,请问怎么样解决,求大神帮忙。 展开
 我来答
匿名用户
2019-03-15
展开全部
也有人回答了,按115200波特率,,1个字节8位加起始位与停止位共10位,在20ms内撑死只能传输230个字节,所以理论上你最多也就输出230个点,但CPU处理命令也要时间哒,你收集到数据然后响应中断,在进入中断调用串口发送函数,这期间也是会消耗一定时间的,如果你采样一个数据就进一次中断,中断在发送串口,那中断里面肯定还没执行完中断信号又来了,这样肯定是不行了。解决方法:提高波特率至少40k,使用DMA来搬运数据,DAC采样到数据就搬运到串口,这样可以极大减少CPU的干预,利用DMA模块来完成工作
shacat200d38
2019-03-14 · TA获得超过4469个赞
知道大有可为答主
回答量:9799
采纳率:61%
帮助的人:2492万
展开全部
估计是你的编写代码不对,估计你是采一个点就串口通讯一次。虽然理论上成立,但是实际上中断响应不过来。一般处理方法就是采完一个周期,串口输出一个周期的点数。或者用个数组存储完所需要的几个周期点数之後再一起串口发送。如果在时效性上还不满足要求,那就需要别的方式进行通讯了,比如SPI等
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一剑出血
高粉答主

2019-03-14 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.7亿
展开全部
你一个点的数据量是多少,几个字节。有没有从理论上算过你这个波特率能不能支撑800包@20ms?

按115200波特率,在20ms内撑死只能传输230个字节……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5a7182d
2019-03-14 · 贡献了超过265个回答
知道答主
回答量:265
采纳率:2%
帮助的人:19.1万
展开全部
在他150年的历史中,保守和封闭的战略让诺基亚多次濒于破产边界,但聚焦与并购的战略也让他屡屡化险为夷,重回巅峰。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
厣匿名甲
2019-03-14 · TA获得超过178个赞
知道小有建树答主
回答量:393
采纳率:65%
帮助的人:180万
展开全部
周期数据太少
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式