新手上路 
 
	- 积分
 - 20
 
        - 金钱
 - 20 
 
       - 注册时间
 - 2023-3-15
 
      - 在线时间
 - 8 小时
 
 
 
 | 
 
 
 楼主 |
发表于 2023-4-14 15:51:58
|
显示全部楼层
 
 
 
 
没懂,如果不是不停读的话怎么实现监测的功能呢? 
我用b站江科大的的例程在F103上做,AD在while里读取: 
while (1) 
        { 
                AD0 = AD_GetValue(ADC_Channel_0); 
                AD1 = AD_GetValue(ADC_Channel_1); 
                AD2 = AD_GetValue(ADC_Channel_2); 
                AD3 = AD_GetValue(ADC_Channel_3); 
         
                 
                OLED_ShowNum(1, 5, AD0, 4); 
                OLED_ShowNum(2, 5, AD1, 4); 
                OLED_ShowNum(3, 5, AD2, 4); 
                OLED_ShowNum(4, 5, AD3, 4); 
         
                 
                Delay_ms(100); 
        } 
就没有问题。 
但是搬到F031上就出现了通道数据混乱错位的问题 
 while (1) 
    { 
                        data1=Get_ADC1(ADC_Channel_6); 
                        data2=Get_ADC1(ADC_Channel_7); 
                        data3=Get_ADC1(ADC_Channel_9); 
         
                        OLED_ShowNum(1, 10, data1, 4); 
                        OLED_ShowNum(2, 10, data2, 4); 
                        OLED_ShowNum(3, 10, data3, 4); 
                        Delay(20); 
    } 
} 
我看有的人说是AD初始化顺序的问题,改了一下初始化顺序,数据正常,可是什么也没动一段时间后又变成混乱的了。 |   
 
 
 
 |