野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20167|回复: 3

TIM的外部时钟

[复制链接]
发表于 2021-3-13 20:09:29 | 显示全部楼层 |阅读模式
/**
  * @brief  Configures the TIMx Trigger as External Clock
  * @param  TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13 or 14  
  *         to select the TIM peripheral.
  * @param  TIM_TIxExternalCLKSource: Trigger source.
  *          This parameter can be one of the following values:
  *            @arg TIM_TIxExternalCLK1Source_TI1ED: TI1 Edge Detector
  *            @arg TIM_TIxExternalCLK1Source_TI1: Filtered Timer Input 1
  *            @arg TIM_TIxExternalCLK1Source_TI2: Filtered Timer Input 2
  * @param  TIM_ICPolarity: specifies the TIx Polarity.
  *          This parameter can be one of the following values:
  *            @arg TIM_ICPolarity_Rising
  *            @arg TIM_ICPolarity_Falling
  * @param  ICFilter: specifies the filter value.
  *          This parameter must be a value between 0x0 and 0xF.
  * @retval None
  */
void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource,
                                uint16_t TIM_ICPolarity, uint16_t ICFilter)
{
  /* Check the parameters */
  assert_param(IS_TIM_LIST1_PERIPH(TIMx));
  assert_param(IS_TIM_IC_POLARITY(TIM_ICPolarity));
  assert_param(IS_TIM_IC_FILTER(ICFilter));

  /* Configure the Timer Input Clock Source */
  if (TIM_TIxExternalCLKSource == TIM_TIxExternalCLK1Source_TI2)
  {
    TI2_Config(TIMx, TIM_ICPolarity, TIM_ICSelection_DirectTI, ICFilter);
  }
  else
  {
    TI1_Config(TIMx, TIM_ICPolarity, TIM_ICSelection_DirectTI, ICFilter);
  }
  /* Select the Trigger source */
  TIM_SelectInputTrigger(TIMx, TIM_TIxExternalCLKSource);
  /* Select the External clock mode1 */
  TIMx->SMCR |= TIM_SlaveMode_External1;
}
根据高级定时器的结构图不是应该有四个通道的吗?分别是TI1,TI2,TI3,TI4的吗?为啥这里就只有TI1和TI2呢?没有找到TI3和TI4的通道配置的,有谁知道吗?


回复

使用道具 举报

发表于 2021-3-15 09:45:43 | 显示全部楼层
TIM_SlaveMode_External1对应外部时钟源模式1,这个模式下只能选择TI1和TI2其中之一作为外部时钟
野火论坛202103150919599202..png
野火论坛202103150945378100..png
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-15 13:35:44 | 显示全部楼层
本帖最后由 LHM 于 2021-3-15 13:38 编辑
ZZZ_XXJ 发表于 2021-3-15 09:45
TIM_SlaveMode_External1对应外部时钟源模式1,这个模式下只能选择TI1和TI2其中之一作为外部时钟

...

这个我知道啊,我就是想知道那个函数可以设置TI3和TI4的,我找了一下没有找到,在手册上面明明是说外部时钟模式1有四个输入通道的,分别是TIMx_CCMR1和TIMx_CCMR2两个寄存器配置的,但是我找不到那个函数用来配置另外两个通道的
回复 支持 反对

使用道具 举报

发表于 2021-3-19 09:25:59 | 显示全部楼层
LHM 发表于 2021-3-15 13:35
这个我知道啊,我就是想知道那个函数可以设置TI3和TI4的,我找了一下没有找到,在手册上面明明是说外部时 ...

TI3、TI4只是单纯的捕获通道,并不能作为外部时钟模式1的时钟信号来源,如果你只是想在外部时钟模式1使用TI3、TI4的输入捕获功能,那可以用TIM_ICInit函数进行初始化配置
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 20:47 , Processed in 0.030942 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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