现碰到如下问题,最初采样是通过ADC+DMA实现,以前都是正常的,如今发现在
while(!DMA_GetFlagStatus(DMA1_FLAG_TC1)); /* Test on channel1 transfer complete flag */
DMA_ClearFlag(DMA1_FLAG_TC1); /* Clear channel1 transfer complete flag */
死这段红 {MOD}代码;
随后更改为非DMA方式
while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)==RESET);//等待EOC置位
ADC_Converted_Value
=ADC_GetConversionValue (ADC1); //把数据寄存器的值读走
发现死在红 {MOD}代码处,因此判定是ADC采样出现问题;
测试了模块周围的电机电流,发现有个电机的PK-PK比正常机器的对应电机大1A,均值大0.7A;
想问下原子哥是否遇到过这种问题,电机是否可能会影响片内ADC?这种问题如何解决?@正点原子
一周热门 更多>