OpenEdv-开源电子网

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

STM32F407用定时器1定时1us,软件带UC/OS3操作系统,定时不准怎么回事?

[复制链接]

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
发表于 2017-9-12 13:46:26 | 显示全部楼层 |阅读模式
2金钱
STM32F407用定时器1定时1us,软件带UC/OS3操作系统,系统时钟设置到128MHz,定时器1的时钟64MHz,在main函数初始化定时器,采用中断溢出方式定时,启动定时器后,在启动操作系统,这时发现定时器的定时不准,甚至有定时1us丢失,但是没有运行操作系统时,定时器就准,结果正确,请大家指点下。

最佳答案

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

已经解决,操作系统优先级高,运行了操作系统的程序,导致定时器不准。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
 楼主| 发表于 2017-9-12 13:46:27 来自手机 | 显示全部楼层
已经解决,操作系统优先级高,运行了操作系统的程序,导致定时器不准。
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-9-12 14:39:27 | 显示全部楼层
因为UCOSIII中有很多临界段代码保护的地方,这些地方会关闭全局中断,包括你的定时器中断!
回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
 楼主| 发表于 2017-9-12 14:48:35 来自手机 | 显示全部楼层
main程序里只有定时器,时钟和gpio初始化,其他就没执行了,再有就是定时器中断,在main里注掉操作系统启动,定时器就不受影响了。目前不知道操作系统运行什么影响定时器计数
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-19 01:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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