完全是按motorware里面的第一个例程给的,是个LED2的闪烁,观察IO口有高低电平产生,但是ADCRESULT的结果不对,由谁能给解释一下么?感激
囧:
你单步调试,当程序复位到main函数头上的时候就是这样的值吗?
完全是按motorware里面的第一个例程给的,是个LED2的闪烁,观察IO口有高低电平产生,但是ADCRESULT的结果不对,由谁能给解释一下么?感激
yufei chen:
回复 囧:
终于有人回复啦!
C:\ti\controlSUITE\device_support\f2806x\v140\F2806x_examples\adc_soc 我用的是CONTROL_SUITE里面的例程。
我用单步调试的时候,运行主函数时,结果寄存器里面是0000,应该是开始转换后,结果寄存器里面的值就变成了0FFF
完全是按motorware里面的第一个例程给的,是个LED2的闪烁,观察IO口有高低电平产生,但是ADCRESULT的结果不对,由谁能给解释一下么?感激
囧:
回复 yufei chen:
Yufei
如果你把ADC的pin串一个电阻接地,还会出现这样的值吗?因为悬空是一个不稳定的状态,不太好判断到底是什么样的影响。另外你可以单步调试看究竟是哪一步使得ADC的值变成这样,是ADC初始化完了以后,还是ADC在SOC触发后,开始采样就这样了。
完全是按motorware里面的第一个例程给的,是个LED2的闪烁,观察IO口有高低电平产生,但是ADCRESULT的结果不对,由谁能给解释一下么?感激
yufei chen:
回复 囧:
初始化ADC之后,adcresult结果是0000,就是进入主函数里面最后的for(;;)循环,寄存器结果变成了0FFF。
另外,我再初始化时钟函数里面,禁用了ADC时钟后,还可以产生EOC信号,以及EOC触发的ADCINT1中断。
完全是按motorware里面的第一个例程给的,是个LED2的闪烁,观察IO口有高低电平产生,但是ADCRESULT的结果不对,由谁能给解释一下么?感激
囧:
回复 yufei chen:
yufei,
那说明你变化是因为外部干扰导致的,你把ADC接地就不会这样了。
就算禁止ADC时钟,只要你强制触发了ADC SOC就会有EOC,有了EOC就会产生中断。