OpenEdv-开源电子网

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

原子哥的delayus定时误差

[复制链接]

5

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2016-1-4
在线时间
42 小时
发表于 2016-11-4 18:25:40 | 显示全部楼层 |阅读模式
5金钱
这几天在做实验时发现,原子哥的代码delayus()有误差代码写的是delayus(350),实际测试是327us,这部分偏差还挺大,原因是什么呢?

QQ截图20161104182405.png

因为在做射频,需要us级别延时,不能用用定时器中断频繁打算,还有什么好的方法么?

最佳答案

查看完整内容[请看2#楼]

问题找到了~~原子哥的代码没问题,又一次被STM32官方坑了~~用的最新的STM32官方库,system_stm32f4xx.c文件中,对STM32F4xx的PLL_N系数设置有误,导致系统时钟错误,将系数从360修正为336就可以了~~ 说明里都说了是336,最后定义时候居然还是定义成360~~唉
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2016-1-4
在线时间
42 小时
 楼主| 发表于 2016-11-4 18:25:41 | 显示全部楼层
问题找到了~~原子哥的代码没问题,又一次被STM32官方坑了~~用的最新的STM32官方库,system_stm32f4xx.c文件中,对STM32F4xx的PLL_N系数设置有误,导致系统时钟错误,将系数从360修正为336就可以了~~
说明里都说了是336,最后定义时候居然还是定义成360~~唉

1.png

2.png

3.png





回复

使用道具 举报

54

主题

372

帖子

0

精华

高级会员

Rank: 4

积分
972
金钱
972
注册时间
2016-6-15
在线时间
473 小时
发表于 2016-11-4 18:37:45 | 显示全部楼层
可以读取定时计数器的值来做延时。
回复

使用道具 举报

5

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2016-1-4
在线时间
42 小时
 楼主| 发表于 2016-11-4 23:19:59 | 显示全部楼层
shuaigew88 发表于 2016-11-4 18:37
可以读取定时计数器的值来做延时。

原子哥的代码 为什么会有这么大误差呢?
回复

使用道具 举报

5

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2016-1-4
在线时间
42 小时
 楼主| 发表于 2016-11-5 00:46:51 | 显示全部楼层
可能是我用的板子有问题,用DWT或者用定时器,全部都有这样的偏差 明天换个板子试试看~~
回复

使用道具 举报

54

主题

372

帖子

0

精华

高级会员

Rank: 4

积分
972
金钱
972
注册时间
2016-6-15
在线时间
473 小时
发表于 2016-11-5 08:15:38 | 显示全部楼层
canghaiwuhen 发表于 2016-11-4 23:19
原子哥的代码 为什么会有这么大误差呢?

不清楚,我没读过原子的程序。但是像这种程序完全可以自己稍动头脑就可以解决。
回复

使用道具 举报

3

主题

548

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1383
金钱
1383
注册时间
2015-2-3
在线时间
197 小时
发表于 2016-11-5 11:56:33 | 显示全部楼层
按理说就算有误差也该是偏长吧?感觉是时钟的问题,加上一个校准系数应该可以
回复

使用道具 举报

5

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2016-1-4
在线时间
42 小时
 楼主| 发表于 2016-11-5 13:56:09 | 显示全部楼层
补充一下:
错误文件路径在 "STM32F4xx_DSP_StdPeriph_Lib_V1.7.1\Project\STM32F4xx_StdPeriph_Templates\system_stm32f4xx.c",也就是原子哥讲的工程模板路径里面的文件是错的,

但在 "STM32F4xx_DSP_StdPeriph_Lib_V1.7.1\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c",这个路径的文件是对的,两者差异还挺大~~

回复

使用道具 举报

2

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2015-8-7
在线时间
53 小时
发表于 2016-11-10 11:40:23 | 显示全部楼层
ST官方帮你免费超频
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-3-1 10:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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