今天开发板到了。先测试了一下AD。
用例程:
下载用STLINK。
工程配置:
代码:- #include "adc_sample.h"
- /**
- * main
- *
- * @param[in] none
- * [url=home.php?mod=space&uid=266161]@return[/url] 0: success, other: error value
- *
- * [url=home.php?mod=space&uid=247401]@brief[/url]
- */
- int main(void)
- {
- InitDelay();
- InitDebug();
- printf("\r\nAC7801x: ADC_Sample\r\n");
- ADC_SampleSoftwareTrigerADC();
- }
- /**
- * ADC_SampleSoftwareTrigerADC
- *
- * @param[in] void
- * [url=home.php?mod=space&uid=266161]@return[/url] void
- *
- * [url=home.php?mod=space&uid=247401]@brief[/url] Timer定时触发规则组ADC_CHANNEL0单次采样。
- */
- void ADC_SampleSoftwareTrigerADC(void)
- {
- ADC_init();
-
- while(1)
- {
- //每次转换数据清零
- memset(g_ADCValueBuffer, 0x00, sizeof(g_ADCValueBuffer));
- memset(g_adcInjectValue, 0x00, sizeof(g_adcInjectValue));
- ADC_SoftwareStartRegularConvert(ADC0); ///软件触发规则组采样
- ADC_SoftwareStartInjectConvert(ADC0); ///软件触发规则组采样
- udelay(8);//需要采样8个通道,延时8us以保证数据采样完成
- sampleValueDeal();
- printf("ADC regular group Sample value: %d\r\n", g_regularAverageSampleValue);
- printf("ADC inject group Sample value: %d\r\n", g_injectAverageSampleValue);
- mdelay(1000);
- }
- }
效果图:
|