你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
【经验分享】STM32中实用的精确延时方法
[复制链接]
天天晓宇
发布时间:2015-1-7 10:11
阅读主题, 点击返回1楼
赞
0
收藏
18
评论
109
分享
发布时间:2015-1-7 10:11
请先
登录
后回复
109个回答
老胖熊
回答时间:2015-2-26 17:14:02
a0a.1 32b0c
学习
赞
评论
回复
支持
反对
拼命三郎
回答时间:2015-2-27 08:15:57
a0a.1 32b0c
赞
评论
回复
支持
反对
拼命三郎
回答时间:2015-2-27 08:17:50
a0a.1 32b0c
赞
评论
回复
支持
反对
ataudio
回答时间:2015-3-9 20:29:09
a0a.1 32b0c
我在F407上使用此函数延时,函数设置为:
void Delay_us(__IO uint32_t nTime)
{
SysTick->LOAD = 144*nTime;
SysTick->CTRL = 0x00000005;
while(!(SysTick->CTRL & 0x00010000));
SysTick->CTRL = 0x00000004;
}
无延时产生。我还没细看手册上起停定时器寄存器的值,不过直接套用无效。不知道楼主在F407上有没有测试过此寄存器?
经过示波器测试,中断延时180us时,平均误差约在0.3us,但偏移范围在0.7个us以内。精度基本可以接受。
赞
评论
回复
支持
反对
waytoanswer
回答时间:2015-3-9 21:16:19
a0a.1 32b0c
http://www.openedv.com/posts/list/22061.htm
这里有一种新的延时方式,不占用任何定时器或中断而且可以精确到纳秒级
赞
评论
回复
支持
反对
hehe212121
回答时间:2015-3-9 21:20:09
a0a.1 32b0c
学到东西了
赞
评论
回复
支持
反对
zhangdaijin
回答时间:2015-3-10 09:37:25
a0a.1 32b0c
好帖子 加油
赞
评论
回复
支持
反对
1407W
回答时间:2015-3-10 16:30:16
a1024a.1 32b0c
楼主好人
赞
评论
回复
支持
反对
adjj
回答时间:2015-3-10 18:31:17
a0a.1 32b0c
不错,学习先,呵呵
赞
评论
回复
支持
反对
wyxy163@126.com
回答时间:2015-3-11 15:15:14
a1024a.1 32b0c
提示:
作者被禁止或删除 内容自动屏蔽
赞
评论
回复
支持
反对
wyxy163@126.com
回答时间:2015-3-11 15:15:35
a1024a.1 32b0c
提示:
作者被禁止或删除 内容自动屏蔽
赞
评论
回复
支持
反对
千羽猎鹰
回答时间:2015-3-11 17:09:00
a0a.1 32b0c
学习了 就是不知道这个是有啥用途
赞
评论
回复
支持
反对
寂寞如她
回答时间:2015-3-11 19:49:40
a0a.1 32b0c
好帖,必须顶
赞
评论
回复
支持
反对
foxglove
回答时间:2015-3-12 07:55:01
a0a.1 32b0c
STM32中实用的精确延时方法
赞
评论
回复
支持
反对
baiying303
回答时间:2015-3-12 08:48:14
a1024a.1 32b0c
感谢分享
赞
评论
回复
支持
反对
1
2
3
4
5
6
7
8
/ 8 页
下一页
所属标签
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
void Delay_us(__IO uint32_t nTime)
{
SysTick->LOAD = 144*nTime;
SysTick->CTRL = 0x00000005;
while(!(SysTick->CTRL & 0x00010000));
SysTick->CTRL = 0x00000004;
}
无延时产生。我还没细看手册上起停定时器寄存器的值,不过直接套用无效。不知道楼主在F407上有没有测试过此寄存器?
经过示波器测试,中断延时180us时,平均误差约在0.3us,但偏移范围在0.7个us以内。精度基本可以接受。
这里有一种新的延时方式,不占用任何定时器或中断而且可以精确到纳秒级