新手上路
- 积分
- 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初始化顺序的问题,改了一下初始化顺序,数据正常,可是什么也没动一段时间后又变成混乱的了。 |
|