打印

STM32如何实现精确延时

[复制链接]
5672|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pb486|  楼主 | 2008-6-20 17:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32如何实现精确延时到us
沙发
香水城| | 2008-6-20 17:39 | 只看该作者

堆指令

不明白为什么要实现精确延时到us?

使用特权

评论回复
板凳
pb486|  楼主 | 2008-6-20 17:51 | 只看该作者

~~~~~~~~~

我用循环实现延时,下面的循环在c=100时延时有多长啊
void delay(c)
{
  while (c--);
}

使用特权

评论回复
地板
香水城| | 2008-6-20 17:57 | 只看该作者

不同的编译器产生的代码不同,而且系统中的中断和DMA也有

3楼的问题我没办法回答。 另外,我也不知道Cortex-M3的指令执行时间。

使用特权

评论回复
5
sunke9| | 2008-6-20 21:17 | 只看该作者

精确的延时很重要!

有很多严格要求时序的器件.

使用特权

评论回复
6
again_gyf| | 2008-6-20 21:20 | 只看该作者

用TIMER呀!

这么多TIMER留一个给他好了!我就是这么干的!

使用特权

评论回复
7
香水城| | 2008-6-20 22:11 | 只看该作者

如果是为了驱动要求严格时序的器件,可以采用定时器同步DM

即使用定时器的定时信号使DMA的每一次传送准确地同步,或使用外部同步信号触发DMA传输,这正是STM32的擅长之处。请尽量抛弃旧有的使用指令堆砌的方式产生延时,尽可能多地考虑如何使用定时器同步。

如果楼主能够举一个具体例子,就更容易说明了。

使用特权

评论回复
8
z_no1| | 2008-9-1 22:11 | 只看该作者

DMA能保证连续传输吗?

在最高优先级下,DMA能竞争过其他对总线的请求吗?比如我想用同步的SPI口的MOSI模拟异步的UART的TX,DMA如果有迟延,即发送每个数据的间隔不能绝对相等。对SPI问题不大,但对UART是致命的。

使用特权

评论回复
9
香水城| | 2008-9-2 08:40 | 只看该作者

不明白8楼为什么要用同步的SPI模拟异步的UART?STM32有很多UART

STM32可以实现你要求的功能,但不是简单地用DMA,需要用定时器配合。

使用特权

评论回复
10
hengoliu| | 2008-9-2 09:20 | 只看该作者

呵呵

争论呀,长知识,围观了~

使用特权

评论回复
11
wxqfhy| | 2008-12-9 11:15 | 只看该作者

使用DMA全速运行时发现数据出现混乱 请高手指点

使用特权

评论回复
12
香水城| | 2008-12-9 17:53 | 只看该作者

全速运行是什么意思?多快的速度?

使用特权

评论回复
13
SHMILY200912| | 2012-6-30 11:48 | 只看该作者
stm32滴答中断,就可以完成.

使用特权

评论回复
14
悠然科技| | 2012-7-2 17:07 | 只看该作者
c语言由于移植性的问题,不同的编译器出的结果不同,所以很难计算运行时间
这个时候,汇编的优势就体现了,因为每一句汇编的执行时间都是确定的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

117

帖子

0

粉丝