HC32单片机的TIMERA输出波形极性不对的问题

1、问题

在使用HC32A0SITB的时候,发现timera的占空比的输出不对,设置10%占空比,输出确是90%占空比。更改分频系数后,占空比偶尔是正常。

2、问题解决

通过查看其数据手册发现。端口输出电平由端口控制寄存器来进行配置。
在这里插入图片描述
其中的CMPC位置为设置输出电平。默认设置PERC和CMPC都是11,表示电平翻转。为了保持其10%占空比实际输出也要是10%。需要将CMPC设置为00
在这里插入图片描述
通过上图可以分析出,当PERC和CMPC都是11b是,输出实际上是有一定的随机性。PERC=11b,CMPC=00b,这时可以满足要求,设置10%占空比,输出也为10%占空比。

最终的代码设置为:

		stcTmraInit.sw_count.u16ClockDiv = TMRA_CLK_DIV64;  //设置tima7时钟为120M
	  stcTmraInit.sw_count.u16CountMode = TMRA_MD_SAWTOOTH;
    stcTmraInit.sw_count.u16CountDir  = TMRA_DIR_UP;
    (void)TMRA_Init(CM_TMRA_7, &stcTmraInit);

    /* 4. Set the comparison reference value. */

    (void)TMRA_PWM_StructInit(&stcPwmInit);
	stcPwmInit.u16CompareMatchPolarity = TMRA_PWM_LOW;

这样设置,不论什么分频系数,波形都是正常的,如果当PERC和CMPC都是11b,当改变分频时,输出波形极性可能会发生变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值