查看: 5180|回复: 3

[已解决] 关于SCTIMER函数问题

[复制链接]

该用户从未签到

10

主题

27

帖子

3

注册会员

Rank: 2

积分
100
最后登录
2019-1-23
发表于 2018-10-19 17:32:07 | 显示全部楼层 |阅读模式
文档内容稍微有点不足,看得不够明白!如果是使用SCTIMER_SetupPwm()函数里面又有这个event参数,该怎么使用呢?

最佳答案

jungetiantianxi 发表于 2018-10-20 20:23 初始化代码: 楼主你好,关于SCT的event, 我建议你先看下我们这个应用笔记,很全很仔细: http://www.nxp.com/docs/en/application-note/AN11538.zip ...

里面的event有什么作用?

里面的event有什么作用?
回复

使用道具 举报

  • TA的每日心情
    开心
    2020-6-18 08:45
  • 签到天数: 812 天

    连续签到: 1 天

    [LV.10]以坛为家III

    66

    主题

    4899

    帖子

    64

    金牌会员

    Rank: 6Rank: 6

    积分
    6321
    最后登录
    2025-7-15
    发表于 2018-10-20 12:31:57 | 显示全部楼层
    给出具体的芯片型号和代码,好帮你解释
    开心
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    27

    帖子

    3

    注册会员

    Rank: 2

    积分
    100
    最后登录
    2019-1-23
     楼主| 发表于 2018-10-20 20:23:29 | 显示全部楼层
    本帖最后由 jungetiantianxiangshang 于 2018-10-20 20:25 编辑
    原来的你 发表于 2018-10-20 12:31
    给出具体的芯片型号和代码,好帮你解释

    初始化代码:
    1. uint8_t pwm_config(void)
    2. {
    3.             sctimer_config_t sctimerInfo;
    4.             sctimer_pwm_signal_param_t pwmParam;
    5.             uint32_t sctimerClock=12000000U;

    6.             SCTIMER_GetDefaultConfig(&sctimerInfo);
    7.             SCTIMER_Init(SCT0, &sctimerInfo);

    8.             pwmParam.output = kSCTIMER_Out_2;
    9.             pwmParam.level = kSCTIMER_LowTrue;
    10.             pwmParam.dutyCyclePercent = 20;
    11.             if (SCTIMER_SetupPwm(SCT0, &pwmParam, kSCTIMER_CenterAlignedPwm, 24000U, sctimerClock, &event) == kStatus_Fail)
    12.             {
    13.                  return -1;
    14.             }

    15.             pwmParam.output = kSCTIMER_Out_1;
    16.                 pwmParam.level = kSCTIMER_HighTrue;
    17.                 pwmParam.dutyCyclePercent = 50;
    18.                 if (SCTIMER_SetupPwm(SCT0, &pwmParam, kSCTIMER_CenterAlignedPwm, 24000U, sctimerClock, &event) == kStatus_Fail)
    19.                 {
    20.                          return -1;
    21.                 }

    22.             SCTIMER_StartTimer(SCT0, kSCTIMER_Counter_L);
    23.             return 1;
    24. }
    复制代码



    主函数main的while里面:
    1. while(1)
    2.     {
    3.             delay_ms(25);
    4. SCTIMER_UpdatePwmDutycycle(SCT0,kSCTIMER_Out_1,i,event);
    5.             SCTIMER_UpdatePwmDutycycle(SCT0,kSCTIMER_Out_2,i,event);


    6.                 if(fx==1)
    7.                 {
    8.                         i++;
    9.                 }
    10.                 else
    11.                 {
    12.                         i--;
    13.                 }
    14.                 if(i<=1)
    15.                 {
    16.                         fx=1;
    17.                 }
    18.                 if(i>=100)
    19.                 {
    20.                         fx=0;
    21.                 }
    22.     }
    23. }
    复制代码



    我是想实现Out_1和Out_2同时都输出占空比在变换的PWM呼吸灯效果,但是程序烧进去之后,只有一个会出现呼吸灯效果,另外一个占空比不变,经过多次测试,我发现和event这个变量有关,pwm_config()函数里面,如果初始化(调用SCTIMER_SetupPwm())Out_1初始化Out_2的话,Out_2就是可行的,Out_1占空比不变;如果初始化Out_2初始化Out_1的话,Out_1就是可行的,Out_2占空比不变。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24910
    最后登录
    2025-7-22
    发表于 2018-10-22 10:39:39 | 显示全部楼层

    楼主你好,关于SCT的event, 我建议你先看下我们这个应用笔记,很全很仔细:
    http://www.nxp.com/docs/en/application-note/AN11538.zip
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-23 05:32 , Processed in 0.093238 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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