STM32的DMA串口循环模式如何设置发送周期?
把STM32的DMA设置成循环模式,让它通过串口循环往外发送数据,请问循环发送的周期怎么设置?例如要循环30ms发送一次数据,用循环模式怎么设置?降低波特率是可行的,能把...
把STM32的DMA设置成循环模式,让它通过串口循环往外发送数据,请问循环发送的周期怎么设置?例如要循环30ms发送一次数据,用循环模式怎么设置?
降低波特率是可行的,能把循环传输速率降低,但是能用什么方法可以把传输速度定在30ms传输一次吗? 展开
降低波特率是可行的,能把循环传输速率降低,但是能用什么方法可以把传输速度定在30ms传输一次吗? 展开
1个回答
展开全部
定时发送数据建议设置成Normal模式。
以下是个人对Circular模式和Normal模式的理解:
Circular:开发者只需设置好发送缓冲区的大小,之后往缓冲区内扔数据,不必考虑发送的时机和因为串口速度问题导致的数据冲突,相当于“流”的效果。
Normal:开发者可以自己选择发送的时机,但时间间隔必须大于上一次数据的发送时间(期间CPU可以干别的事),否则会数据冲突。
所以你可以在30ms定时器中断中单次发送数据(因为只是往寄存器写数据,占用不了太多时间)。下面是我的单次发送的函数:
意法半导体(中国)投资有限公司
2023-08-25 广告
2023-08-25 广告
上面那个人乱讲。所谓单片机,就是把微处理器,存储器和输入输出接口等部件集成在一个芯片上的单片式计算机。单片机主要的功能和应用场合还是控制,比如说微波炉的控制电路啦,空调的控制电路啦等,当然手机或者PDA等也会使用到单片机,不过不能说手机GB...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询