主题中讨论的其他器件:C2000WARE
您好专家、
我正在帮助客户从 F28034移植到 F280025。
对于 ADC 启动、它看起来有很大差异。
这是 F28034代码
EALLOW;
AdcRegs.ADCCTL1.bit.reset= 1;//未找到,F280025是否也有此位,也需要执行此操作?
asm (" NOP ");
asm (" NOP ");
AdcRegs.ADCCTL1.bit.ADCREFSEL= 0;// ADC 参考已成功更改
AdcRegs.ADCCTL1.bit.ADCBGPWD= 1;//未找到,F280025是否也有此位,也需要执行此操作?
AdcRegs.ADCCTL1.bit.ADCREFPWD= 1;//未找到、F280025是否也有此位、内部基准是否由另一个模块启用或始终启用?
AdcRegs.ADCCTL1.bit.ADCPWDN= 1;//为 ADC 加电,已成功更改
AdcRegs.ADCCTL1.bit.ADCENABLE= 1;//未找到,F280025是否也有此位,也需要执行此操作?
DELAY_US (ADC_USDELAY);
AdcRegs.ADCCTL1.bit.INTPULSEPOS= 0;
AdcRegs.ADCCTL2.bit.ADCNONOVERLAP = 1;//未找到,F280025是否也有此位,也需要执行此操作?
我没有找到太多的寄存器、您能在评论中帮助回答我的问题吗?
根据 F280025 TRM 的描述:
上电序列
器件上电或系统级复位时、ADC 将断电并禁用。 时间
为 ADC 上电、请使用以下序列:
1.将该位置位、使能 PCLKCR13寄存器中所需的 ADC 时钟。
2.在 ADCCTL2的预分频字段中设置所需的 ADC 时钟分频器。
3.通过设置 ADCCTL1中的 ADCPWDNZ 位为 ADC 加电。
4、采样前要有延迟。 有关必要的时间、请参阅数据手册。
我得到了如下的响应代码:
EALLOW; AnalogSubsysRegs.ANAREFCTL.bit.ANAREFASEL=0; AnalogSubsysRegs.ANAREFCTL.bit.ANAREFCSEL=0; AnalogSubsysRegs.ANAREFCTL.bit.ANAREF2P5SEL =0 ;AnalogSubRegs.ANRFC2ARP5SEL=0;ANAREFP2ARCTR=AN2ARCTR.AN2AREFCTL.BIT.AN2ARCTR0 // //将 ADCCLK 分频器设置为/4 // AdcaRegs.ADCCTL2.bit.prescale = 6; // //将脉冲位置设置为早 // AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 0; // //为 ADC 加电、然后延迟1ms // AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1; EDIS; DELAY_US (1000);
您能帮您检查是否保留了一些配置吗?
BR
Emma