您好,我看到dsp28335的ad的转换结果缓冲寄存器介绍,有个问题,书上面说从外设2(0x7108~0x7117)读取时候,转换结果寄存器左对齐,要把数据右移四位,当从外设0(0x0B00~0xoB0F)读取时候,数据右对齐,不用移位了。对这个不明白啊,什么时候从外设2读取,什么时候从外设0读取啊,这个可以设置吗?谢谢!
祝好!
Jones Chen:
当你用peripheral frame 2中的AdcResut 就是从2 取。
当你用peripheral frame 0中的AdcResut 就是从0取。
当你用DMA来读取ADC的时候,只能从0取。
你看看Delfino的ADC User Guide,一切都都明白了。
您好,我看到dsp28335的ad的转换结果缓冲寄存器介绍,有个问题,书上面说从外设2(0x7108~0x7117)读取时候,转换结果寄存器左对齐,要把数据右移四位,当从外设0(0x0B00~0xoB0F)读取时候,数据右对齐,不用移位了。对这个不明白啊,什么时候从外设2读取,什么时候从外设0读取啊,这个可以设置吗?谢谢!
祝好!
zhang kain:
回复 Jones Chen:
您好:
我看了AD的数据手册,上面说“当从具有2 等待状态的外设帧2 (0x7108-0x7117) 读取时,ADCRESULTn 寄存器为左对齐;当从具有0 等待状态的外设帧0 (0x0B00-0x0B0F) 读取时,ADCRESULTn 寄存器为右对齐”。还是没说明白啊,怎么才是外设帧0,怎么才是外设帧2,那里控制的?有什么区别?
您好,我看到dsp28335的ad的转换结果缓冲寄存器介绍,有个问题,书上面说从外设2(0x7108~0x7117)读取时候,转换结果寄存器左对齐,要把数据右移四位,当从外设0(0x0B00~0xoB0F)读取时候,数据右对齐,不用移位了。对这个不明白啊,什么时候从外设2读取,什么时候从外设0读取啊,这个可以设置吗?谢谢!
祝好!
Jones Chen:
回复 zhang kain:
一个叫AdcResult , 另一个叫AdcmirrorResult,具体哪个对应哪个,您还是要看手册。
#ifdef __cplusplus
#pragma DATA_SECTION("AdcRegsFile")
#else
#pragma DATA_SECTION(AdcRegs,"AdcRegsFile");
#endif
volatile struct ADC_REGS AdcRegs;
//—————————————-
#ifdef __cplusplus
#pragma DATA_SECTION("AdcMirrorFile")
#else
#pragma DATA_SECTION(AdcMirror,"AdcMirrorFile");
#endif
volatile struct ADC_RESULT_MIRROR_REGS AdcMirror;
您好,我看到dsp28335的ad的转换结果缓冲寄存器介绍,有个问题,书上面说从外设2(0x7108~0x7117)读取时候,转换结果寄存器左对齐,要把数据右移四位,当从外设0(0x0B00~0xoB0F)读取时候,数据右对齐,不用移位了。对这个不明白啊,什么时候从外设2读取,什么时候从外设0读取啊,这个可以设置吗?谢谢!
祝好!
zhang kain:
回复 Jones Chen:
您好:
我看了我们的程序,确实也有这样的设置,这个是系统的默认设置吗,这样设置之后,AdcResult 的值是不是就左对齐了呢
您好,我看到dsp28335的ad的转换结果缓冲寄存器介绍,有个问题,书上面说从外设2(0x7108~0x7117)读取时候,转换结果寄存器左对齐,要把数据右移四位,当从外设0(0x0B00~0xoB0F)读取时候,数据右对齐,不用移位了。对这个不明白啊,什么时候从外设2读取,什么时候从外设0读取啊,这个可以设置吗?谢谢!
祝好!
zhang kain:
回复 Jones Chen:
您好:
我看了我们的程序,确实也有这样的设置,这个是系统的默认设置吗,这样设置之后,AdcResult 的值是不是就左对齐了呢