拿到测平板以后直接测试了ADC和定时器。将两者结合试了一下将数据发到论坛给大家分享,一种是求平均,一种是去最大最小值求平均。
上手比较容易。
上传了main函数和adc测试数据。
int main()
{
u16 cnt = 0;
/* Initialize ALD */
ald_cmu_init();
/* Configure system clock */
ald_cmu_pll1_config(CMU_PLL1_INPUT_HOSC_3, CMU_PLL1_OUTPUT_48M);
ald_cmu_clock_config(CMU_CLOCK_PLL1, 48000000);
/* Enable peripheral clock */
ald_cmu_perh_clock_config(CMU_PERH_ALL, ENABLE);
/* Initialize stdio */
uart_stdio_init();
/* Initialize ADC pin */
adc_pin_init();
/* Initialize ADC */
adc_init();
timer_config();
printf_e("System start...\r\n");
printf_e("Index Normal Insert\r\n");
printf_e("--------------------------\r\n");
ald_delay_ms(10);
nm_value = get_normal_average_voltage();
ih_value = get_insert_average_voltage();
printf_e("%-5d 0x%-6x 0x%-6x\r\n", ++_cnt, nm_value, ih_value);
while (1)
{
if(timerFlag == 1)
{
timerFlag=0;
nm_value += get_normal_average_voltage();
ih_value += get_insert_average_voltage();
if(++cnt>=100){
cnt=0;
nm_value=nm_value/100;
ih_value=ih_value/100;
printf_e("%-5d 0x%-6x 0x%-6x\r\n", ++_cnt, nm_value, ih_value);
nm_value=0;
ih_value=0;
}
}
}
}
|