查看: 3358|回复: 1

[求助] KEA8的FTM2_CnV写不进去值

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
16
最后登录
2020-7-2
发表于 2020-7-2 17:49:47 | 显示全部楼层 |阅读模式
用KEA8做的互补PWM输出,那个FTM2_C4V的值一直写不进去
不知道为什么
//使能FTM2的总线时钟
  SIM_SCGC |= SIM_SCGC_FTM2_MASK;
   //写保护禁止
    FTM2_BASE_PTR->MODE |= FTM_MODE_WPDIS_MASK;
     FTM2->MOD=MODValue;
   FTM2_BASE_PTR->MODE = 0X05;
    FTM2_C4V=100;
    //总线时钟频率24MHz,分频因子16,分频后为1.5MHz
   // FTM2_BASE_PTR->SC |= FTM_SC_PS(4);
    //左对齐,先高电平后低电平
    FTM_CnSC_REG(FTM2_BASE_PTR, 4) = 0x04;
    //边沿对齐
   /// FTM_CnSC_REG(FTM2_BASE_PTR, 4) &= ~FTM_CnSC_ELSA_MASK;
   // FTM_CnSC_REG(FTM2_BASE_PTR, 4) |= FTM_CnSC_MSB_MASK;
    //计数器清零

    //中断禁止
    FTM2_BASE_PTR->SC =  0x08;
    //FTM2使能
    FTM2_BASE_PTR->MODE &= ~FTM_MODE_FTMEN_MASK;
    //启用需要的输出通道,屏蔽其他通道
    FTM2_BASE_PTR->OUTMASK = 0x0f;//只保留FTM2的CH4和CH5使用
    //禁止双边沿捕捉模式
    FTM2_DEADTIME=0x3f;//死区
    FTM2_BASE_PTR->COMBINE =0x00330000;
    //FTM2计数初始值为0

    FTM2_BASE_PTR->CNTIN = 0;
    //周期=(MOD-CNTIN+1)*时钟周期=2.5ms
    //FTM2_BASE_PTR->MOD  = MODValue;
  //  MOD_VALUE = 12;
    //计算通道寄存器的值,设置占空比
  //  duty_channel = (uint16_t)((float)MOD * duty / 100);
    //设置通道值寄存器
     FTM2_BASE_PTR->CNT=0;
    FTM_CnV_REG(FTM2_BASE_PTR, 4) = 100;//设置占空比
    FTM2_EXTTRIG=0X04;
    FTM2_C4V=100;

    //使用总线时钟
    FTM2_BASE_PTR->SC |= FTM_SC_CLKS(1);



我知道答案 目前已有1人回答
微信图片_20200702174845.png
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24915
最后登录
2025-7-23
发表于 2020-7-3 09:29:57 | 显示全部楼层
FTM_CnV_REG, 为什么debug里显示error
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-23 21:15 , Processed in 0.085445 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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