你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8定时时长搞不清楚

[复制链接]
离愁别绪 提问时间:2019-6-19 08:57 /
static void CLK_Config(void)
{
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);//内部高速振荡器8分频16M/8=2M
}
static void TIM4_Config(void)
{
  TIM4_TimeBaseInit(TIM4_PRESCALER_2, TIM4_PERIOD); //2分频装载值为100-1
}

按STM8单片机  定时时长 T = (TIM_Period+1)*(TIM_Prescaler+1)/TIMxCLK
我计算上面应该是100uS定时,但程序原作者却说是1ms定时,谁能帮我看一下,到底时长是多少?不胜感激

收藏 评论6 发布时间:2019-6-19 08:57

举报

6个回答
离愁别绪 回答时间:2019-6-19 08:59:07
刚开始学STM8单片机,对其中的定时时长搞不清楚
#define TIM4_PERIOD     99  
static void CLK_Config(void)
{
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);//内部高速振荡器8分频16M/8=2M
}
static void TIM4_Config(void)
{
  TIM4_TimeBaseInit(TIM4_PRESCALER_2, TIM4_PERIOD); //2分频装载值为100-1
}

按STM8单片机  定时时长 T = (TIM_Period+1)*(TIM_Prescaler+1)/TIMxCLK
我计算上面应该是100uS定时,但程序原作者却说是1ms定时,谁能帮我看一下,到底时长是多少?不胜感激
toofree 回答时间:2019-6-19 09:50:12
跑个程序验证一下不就知道了吗,还需要在这纠结?
不是说原作者就不会错,学校的课本都可能错,程序出错很正常。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

离愁别绪 回答时间:2019-6-19 09:54:04
toofree 发表于 2019-6-19 09:50
跑个程序验证一下不就知道了吗,还需要在这纠结?
不是说原作者就不会错,学校的课本都可能错,程序出错很 ...

程序跑了,确实是1ms 但我计算是100us,百思不得其解,用的 TIM4~8位基本定时
toofree 回答时间:2019-6-19 12:20:57
离愁别绪 发表于 2019-6-19 09:54
程序跑了,确实是1ms 但我计算是100us,百思不得其解,用的 TIM4~8位基本定时

那只能说你给的程序不全,把你认为的东西给出来了,没告诉真相。
从错误的前提,给出正确的结果,真的做不到。
yzq2008 回答时间:2019-6-26 17:18:00
学习学习
butterflyspring 回答时间:2019-6-27 17:28:29
应该还有些信息你没注意到。按照你说的不配置,我试了下,确实是100us。 所以一定漏掉了某个条件。再看看寄存器配置

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版