NXP MCU 技术论坛
直播中

陈光琦

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

S32K344 ADC:HAS_ADC_INTERLEAVE采集ADC失败是怎么回事?

我正在调试S32K344_EVB的ADC功能,开发环境:EBtresos 28.2.0+S32DS
想用PIN_PTA1作为ADC0_S9的功能,但是发现采集ADC失败了。然后我发现DCM.DCMRWF4[2]默认被MCAL程序设置为1。





MCAL静态代码库:默认定义SIUL2_PORT_IP_HAS_ADC_INTERLEAVE。
静态代码中的逻辑:
PORT_WRITE32(DCM_DCMRWF4_ADDR32, DCM_DCMRWF4_ADC_INTERLEAVE_MASK | dcmrwf4RegValue);
0x0000067E | 0x0000067A = 0x0000067E ?(DCMRWF4.MUX_MODE_EN_ADC0_S9 = 1(是 PTB14))

将使DCMRWF4中的所有ADC INTERLEAVE为1。
这个逻辑的目的是什么,因为手册应该默认设置为0。
这个逻辑是不是应该改成下面这样:
PORT_WRITE32(DCM_DCMRWF4_ADDR32, DCM_DCMRWF4_ADC_INTERLEAVE_MASK & dcmrwf4RegValue);
0x0000067E & 0x0000067A = 0x0000067A(DCMRWF4.MUX_MODE_EN_ADC0_S9 = 0(是 PTA1))




更多回帖

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