TI中文支持网
TI专业的中文技术问题搜集分享网站

DPLib 如何参数传递?

例子是..\ti\controlSUITE\development_kits\TemplateProjects\DPLibv3Template-F2802x

里面代码:PWM_1ch_CNF(1, 300,1,0); //PWM初始化

PWMDRV_1ch_Duty=&Duty1A;Duty1A =_IQ24(0.8);  是直接输出0.8占空比的PWM波 。

  但计算出的Duty1A的值是(16777216*0.8),远大于300,

通过单步调试发现寄存器CMPAM,TBPRDM 的值发送改变,正好是0.8的关系。

不知道参数是如何传递 ?通过哪段代码实现这个功能的?PWMDRV_1ch_Duty 主要起个什么作用,在其他地方没看到调用, 请赐教 !! 麻烦了!

             

Martin Yu:

通过PWMDRV_1ch_Duty1指针传递,Q24格式,调用DP_Lib库中的PWMDRV_1ch函数实现占空比的改变:

 

详见PDF资料,路径:C:\ti\controlSUITE\libs\app_libs\digital_power\f2802x_v2.0\Doc

例子是..\ti\controlSUITE\development_kits\TemplateProjects\DPLibv3Template-F2802x

里面代码:PWM_1ch_CNF(1, 300,1,0); //PWM初始化

PWMDRV_1ch_Duty=&Duty1A;Duty1A =_IQ24(0.8);  是直接输出0.8占空比的PWM波 。

  但计算出的Duty1A的值是(16777216*0.8),远大于300,

通过单步调试发现寄存器CMPAM,TBPRDM 的值发送改变,正好是0.8的关系。

不知道参数是如何传递 ?通过哪段代码实现这个功能的?PWMDRV_1ch_Duty 主要起个什么作用,在其他地方没看到调用, 请赐教 !! 麻烦了!

             

yunQI shan:

回复 Martin Yu:

谢谢 ,追问一下,能否在PWMDRV_1ch.asm文件里打断点?我试着但打不了,想但不观察一下寄存器的变化。

赞(0)
未经允许不得转载:TI中文支持网 » DPLib 如何参数传递?
分享到: 更多 (0)