程序是原子的AD采样程序,没动,开发板是战舰开发板。 只是把AD接口接入了一个电位器,电位器两端分别接电源跟地。数值在10次平均值滤波的时候跳动幅度是20以内,100是10以内,200次就变成了上下浮动三,并且频率慢了许多。
问:怎么样才能让AD采样极为精确。基本不变?
看了一些卡尔曼的代码。太深奥没看懂。移植了几段,成功过一段,效果好但是太慢。快了以后效果依旧不好。所以还是想用点大家常用的办法滤波。
这个会是板子的问题么?换个通道会解决这个问题么?
a3aa5e5c055fe09eacc691b8b550d897_973.jpg (0 Bytes, 下载次数: 0)
2010-12-14 22:54 上传
//主函数中的内容
int main(void)
{
u8 buff[100];
u16 adc = 0;
float adc1 = 0;
delay_init();
NVIC_Configuration();
uart_init(9600);
Adc_Init();
OLED_InitIO();
OLED_Init();
BACK_COLOR =0x00;
POINT_COLOR= 0x0f;
while(1)
{
adc = Get_Adc_Average(ADC_Channel_1,10);
sprintf((char *)buff," ADC:%d