TC397 使用 EB 配置ICU

1. 工具说明

MCU:TC397

EB: 26.2.0 (AS440)

2. 目标

使用PORT 20.3,配置为输入捕获模式 。

3.EB配置 

3.1McuClockSettingConfig配置:GMT的时钟:100 000 000hz

Mcu->McuClockSettingConfig_0

3.2 GtmGlobalConfiguration_0 配置

标号1为时钟源输入,3.3 为配置说明

标号2为输入时钟后的分频,3.4 为配置说明

3.3 簇 0 分频系数:2

Mcu->GtmGlobalConfiguration_0->GtmClusterConf_0

3.4 GTM 的总时钟分频系数:1/1(GCLK_NUM/GCLK_DEN)

3.5 CMU CLK时钟配置

下图标号1为时钟分频系数

下图标号2为给ICU输入捕获的时钟

上图标号1的参数配置,我这里选择的为clock1 ,当然你也可以选择0 ,很随意。

如图配置的话,ICU的时钟为50M/5000 = 10000hz.

Mcu->GtmGlobalConfiguration

3.6 使用TIM 2 通道4

Mcu->GtmGlobalConfiguration->GtmTimGlobalConf

3.7 配置McuHardwareResourceAllocationConf

Mcu->GtmGlobalConfiguration->McuHardwareResourceAllocationConf->McuGtmAllocationConf->McuGtmTimAllocationConf

3.8 GPIO 配置

PortPinDirection  设置为输入模式,

根据芯片手册可知,这个引脚有三种TIM通道选择, 我这里选择TIM2通道4(根据心情),上面3.6的配置也是根据这个来的。

3.9 ICU 配置

 新建一个ICU通道,名字随便取,这里我用的是默认的。

3.9.1  Icu->IcuChannel_3

3.9.2 IcuSignalMeasurement配置

3.9.3 GtmTimerInputConfiguration配置

GtmTimerUsed  :选择TIM2 通道4

TimChannelClockSelect  :选择的时钟源,这里选择clock1

Icu->IcuChannel_3->GtmTimerInputConfiguration_0

3.10 ResourceM

将自己新加的PWM通道加入这里

4.代码初始化

//包含的头文件
#include "Icu_17_TimerIp.h"
#include "IfxSrc_reg.h"
#include "IfxGtm_bf.h"

//初始化ICU
void INC_Init(void)
{
	Icu_17_TimerIp_Init(&Icu_17_TimerIp_Config);
	
	Icu_17_TimerIp_StartSignalMeasurement(IcuConf_IcuChannel_IcuChannel_3); /* 启动测量 */

}

//获取周期和占空比

Icu_17_TimerIp_DutyCycleType DutyCycle_Values3;
float g_period = 0.0;
float g_dutyCycle  = 0.0;

  //20.3
  if (Icu_17_TimerIp_GetInputState(IcuConf_IcuChannel_IcuChannel_3) == ICU_17_TIMERIP_ACTIVE) 
  {
    Icu_17_TimerIp_GetDutyCycleValues(IcuConf_IcuChannel_IcuChannel_3, &DutyCycle_Values3);
    g_dutyCycle = ((float)DutyCycle_Values3.ActiveTime / (float)DutyCycle_Values3.PeriodTime)*100;
    g_period =  (float)DutyCycle_Values3.PeriodTime / 10000;
    g_period = 1/g_period;

  }

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nrt_ding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值