OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8929|回复: 3

不用systick定时器,怎么实现准确延时呢?

[复制链接]

38

主题

248

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
463
金钱
463
注册时间
2011-2-11
在线时间
12 小时
发表于 2011-12-20 20:29:59 | 显示全部楼层 |阅读模式
Openedv大力支持的开源RTOS  --Trochili RTOS(飞鸟)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-12-21 00:50:51 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2011-7-28
在线时间
3 小时
发表于 2011-12-21 10:02:48 | 显示全部楼层
看看這timer3可否有用.

void Timer3_Delayus(u16 arr)
{
RCC->APB1ENR|=1<<1;//TIM3時鐘使能    
  TIM3->ARR=arr;      
TIM3->SC=71;  //預分頻器72,得到 1Mhz的計數時鐘
TIM3->CR1|=0x01;    //使能定時器3
TIM3->CR1|=1<<3; //使能當計算完後,停止重裝.
while  ((TIM3->CR1 & 0x01) == 0x01);
 
}
回复 支持 反对

使用道具 举报

3

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2011-12-23
在线时间
5 小时
发表于 2011-12-23 17:08:12 | 显示全部楼层
个人觉得如果用了os,如果延时时间比较长的话就应该用os提供的延时机制,这样可以进行任务调度。如果延时时间短的话死循环也不会差到哪里去,当然用定时器的话可以更精确点。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 17:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表