OpenEdv-开源电子网

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

请教stm32f103ve tim3时钟

[复制链接]

42

主题

115

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
472
金钱
472
注册时间
2014-2-24
在线时间
101 小时
发表于 2019-10-17 16:38:42 | 显示全部楼层 |阅读模式
1金钱
请教下大神,tim3的时钟是36mhz还是72mhz,
在测试时无论如何时钟重载值,结果计数结果都对,但AD转换不对。
如下:
TIM_TimeBaseStructure.TIM_Period = 11249 ;//36MHZ
TIM_TimeBaseStructure.TIM_Period = 22499    ;//72MHZ

这两个数,用哪个计时都对,但定时转换AD结果不对,
按11249配置,64点AD转换可在1周期内完成,但结果错误
按22499配置,64点AD要超过1个周期,但结果正确。

//定时触发AD转换
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  TIM_DeInit(TIM3);//复位定时器3
  TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
  TIM_TimeBaseStructure.TIM_Period = 11249 ;//22499   
  TIM_TimeBaseStructure.TIM_Prescaler = 0;//予分频  时钟预分频+1  
  TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;//倍频系数
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up ;//TIM_CounterMode_Down;//计数方向
  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
  TIM_ARRPreloadConfig(TIM3,ENABLE); //允许重装 TIM_Period

  TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//允许更新中断
  //TIM_UpdateDisableConfig(TIM3,ENABLE); //使能或者失能TIMx更新事件

  TIM_SelectOutputTrigger(TIM3,TIM_TRGOSource_Update);//更新输出 trgo

  TIM_ClearFlag(TIM3, TIM_FLAG_Update);  //TIM_FLAG_Trigger //触发标志  TIM_FLAG_Update//更新标志


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

146

帖子

0

精华

高级会员

Rank: 4

积分
922
金钱
922
注册时间
2018-7-18
在线时间
385 小时
发表于 2019-10-17 17:30:16 | 显示全部楼层
本帖最后由 wwhh 于 2019-10-17 19:01 编辑

定时器的时钟都是72MHz的
回复

使用道具 举报

42

主题

115

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
472
金钱
472
注册时间
2014-2-24
在线时间
101 小时
 楼主| 发表于 2019-10-18 09:44:33 | 显示全部楼层
wwhh 发表于 2019-10-17 17:30
定时器的时钟都是72MHz的

可是我无论按哪种配置,计数结果都对

只修改这个参数,其他的不变
TIM_TimeBaseStructure.TIM_Period = 11249 ;//36MHZ
TIM_TimeBaseStructure.TIM_Period = 22499    ;//72MHZ
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-6 21:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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