器件型号: TMS570LS0914
- Pin configured : N2HET[18]
- 通过 HET 指令集读取 PWM 占空比和周期
void capGetSignal(hetRAMBASE-t * hetRAM、Uint32 CAP、hetSIGNAL_t *信号)
{
uint32 pwmDuty =(hetRAM->指令[(CAP << 1U)+ 25U].Data)>> 7U;
uint32 pwmPeriod =(hetRAM->指令[(CAP << 1U)+ 26U].Data)>> 7U;信号->占空比 =(pwmDuty * 100U)/pwmPeriod;
if (htRAM == htRAM1)
{
信号->周期=((float64) pwmPeriod * 1066.667F)/ 1000.0F;
}
暴露
{
信号->周期=((float64) pwmPeriod * 1066.667F)/ 1000.0F;
}
} - 它正在读取正确的实时值
- 但无法读取零/100 占空比
- 如果 CP 关闭、它仍保持之前的占空比和周期值
- 此处提供了指令集
- /* PCNT:捕获占空比 0
* -说明 = 25
* -下一个指令 = 26
* -有条件的下一指令= na.
* -中断 =不适用
* -引脚 = 0
*/
{
/*程序*/
0x00034E00U |(Uint32)(Uint32) 0U << 6U) |(Uint32)(0U)、
/*控制*/
0x00000000U、
/*数据*/
0x00000000U、
/*保留*/
0x00000000U
}、
/* PCNT:捕获周期 0
* -说明 = 26
* -下一个指令 = 27
* -有条件的下一指令= na.
* -中断 =不适用
* -引脚 = 0 + 1
*/
{
/*程序*/
0x00036E80U |(Uint32)((Uint32) 0U << 6U) |(Uint32)((0U)+ 1U)、
/*控制*/
0x00000000U、
/*数据*/
0x00000000U、
/*保留*/
0x00000000U
}、