TI论坛
直播中

李果

7年用户 180经验值
私信 关注
[问答]

请问ZLight 1.0.2哪个函数使用高低电平控制开关?

我们现在要做普通开关,每个芯片要控制多个普通灯,P0_3、P0_4、P0_5、P0_6各控制一个普通灯,手机可以对每个普通灯单独控制。
我们现在发现的问题是每个端口都是脉宽调制控制(233Hz),现在想改成高低电平控制,而不是用脉宽调制,请问程序中调用哪个函数?
直接把 timer1MaxCount = halTimer1SetPeriod (4292); // 233Hz   这一行中的4292改为0是否可以?

回帖(7)

李果

2018-8-8 08:12:01
在定时器配置的地方,原先我们是Timer1的4个通道输出PWM波形,那么只要把那个通道的PWM功能关了,当普通的IO来用就可以了
举报

李果

2018-8-8 08:20:21
引用: wenlonghbo 发表于 2018-8-8 08:12
在定时器配置的地方,原先我们是Timer1的4个通道输出PWM波形,那么只要把那个通道的PWM功能关了,当普通的IO来用就可以了

是不是把以下这几行封掉即可?
  halTimerSetPrescale (HW_TIMER_1, halTimerRecord[HW_TIMER_1].prescale);
  halTimerSetChannelMode (HW_TIMER_1, halTimerRecord[HW_TIMER_1].channelMode);
  halTimer1SetChannelCCTL(HAL_T1_CH0, 0, 1, HAL_TIMER1_CH0_CMP_MODE_SET_ON_COMP, 1, HAL_TIMER1_CH_CAP_MODE_NO);
  halTimer1SetChannelCCTL(HAL_T1_CH1, 0, 1, HAL_TIMER1_CHn_CMP_MODE_CLR_ON_COMP_SET_ON_0, 1, HAL_TIMER1_CH_CAP_MODE_NO);
  halTimer1SetChannelCCTL(HAL_T1_CH2, 0, 1, HAL_TIMER1_CHn_CMP_MODE_CLR_ON_COMP_SET_ON_0, 1, HAL_TIMER1_CH_CAP_MODE_NO);
  halTimer1SetChannelCCTL(HAL_T1_CH3, 0, 1, HAL_TIMER1_CHn_CMP_MODE_CLR_ON_COMP_SET_ON_0, 1, HAL_TIMER1_CH_CAP_MODE_NO);
  halTimer1SetChannelCCTL(HAL_T1_CH4, 0, 1, HAL_TIMER1_CHn_CMP_MODE_CLR_ON_COMP_SET_ON_0, 1, HAL_TIMER1_CH_CAP_MODE_NO);
 
  halTimer1SetChannelDuty (HAL_T1_CH1, 0);
  halTimer1SetChannelDuty (HAL_T1_CH2, 0);
  halTimer1SetChannelDuty (HAL_T1_CH3, 0);
  halTimer1SetChannelDuty (HAL_T1_CH4, 0);
举报

李果

2018-8-8 08:39:37
引用: wenlonghbo 发表于 2018-8-8 08:20
是不是把以下这几行封掉即可?
  halTimerSetPrescale (HW_TIMER_1, halTimerRecord[HW_TIMER_1].prescale);
  halTimerSetChannelMode (HW_TIMER_1, halTimerRecord[HW_TIMER_1].channelMode);

是的!
举报

李果

2018-8-8 08:50:09

将上述PWM涉及代码封掉之后,无法点亮LED灯,是不是要把hw_light_ctrl.c中的点灯函数ENABLE_LAMP改掉?应该怎么改?
是不是直接对寄存器进行编程?
多谢!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分