主题中讨论的其他部件:HALCOGEN,
您好,
我正在尝试控制使用N2HET生成的PWM信号。
到目前为止,我可以看到具有固定频率和25 % 占空比的PWM信号,但我似乎无法在运行中控制此信号。 我假设我的HalCoGen设置有效,以便完全查看任何输出。
作为一项基本测试(在LaunchpadXL板上),我正在对ADC进行编程,以获得可修改的值(缩放为0 100 %),我正在尝试将其输入pwmSetSignal()函数以控制占空比。
我的代码非常简单:
adcData_t adc_data;
adcData_t *ADC_DATA_PTR =&ADC_DATA;
无符号int值;
unsigned int Dut_cycle;
hetSIGNAL_t het_SIG;
HET_SIG.ODON=50;
HET_SIG.句 点= 1.000 ; /* 1us:= 1MHz */
hetInit();
adcInit();
pwmStart (hetRAM1,pwm0);
同时(1)
{
/*从ADC */获取可修改的值
adcStartConversion (adcREG1,adcGROUP1);
while (!adcIsConversionComplete (adcREG1,adcGROUP1));
adcGetData (adcREG1,1U,ADC_DATA_PTR);
value =(unsigned int)ADC_DATA_PTR->value;
/*将值(0-4095)与PWM占空比的百分比(0-100)相关联*/
/*值/41给出占空比百分比,最大值为99 */
占空比=值/ 41;
/*使用来自ADC的值更新占空比*/
HET_SIG.ODON=占空比;
// pwmSetSignal (hetRAM1,pwm4,het_SIG);
}
当我运行此代码时,我调用"查看",在"查看器"上显示175.7kHz PWM信号,其25 % 占空比为。
pwm0的HalCoGen设置为:周期= 0.1 ,占空比= 10。 我看到的内容与HalCoGen设置无关。
当我取消注释对pwmSetSignal()的调用时,PWM输出被完全终止。
我的最终目标是以尽可能高的频率产生PWM信号,但(最重要的是)在0至99 % 范围内具有可控制的占空比。
问题:
1.您能否告知我的代码不正确和/或不充分的地方,以及实现目标需要什么?
2.通过逐步浏览代码,我在执行pwmInit()后就开始看到PWM输出。 我是否需要调用pwmStart()? 如果是,原因是什么?
3.我已经浏览过网络以查找这些信息,所以您还可以指出我可以在哪里找到这些信息(对于TMS570LS1224和N2HET以及PWM)?
4.在最大PWM频率和占空比方面,我可以预期的最佳结果是什么?
TIA

