STM32 ADC 模数转换的简单实现
首先配置GPIO与ADC的时钟:
配置ADC的运行:
这里我用的是ADC1的9通道 PB1引脚。
也用一些默认的配置函数同GPIO 的一样例如: ADC_StructInit
ADC_InitTypeDef structure ADC_InitTypeDef定义于文件“stm32f10x_adc.h”:
typedef struct
{
u32 ADC_Mode; FunctionalState ADC_ScanConvMode; FunctionalState ADC_ContinuousConvMode; u32 ADC_ExternalTrigConv; u32 ADC_DataAlign; u8 ADC_NbrOfChannel;
} ADC_InitTypeDef
注意:为了能够正确地配置每一个ADC通道,用户在调用ADC_Init()之后,必须调用ADC_ChannelConfig()来配置每个所使用通道的转换次序和采样时间。
然后就是不停的读;
u16 TestAdc(void)
{
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)==RESET);//检查制定ADC标志位置1与否 ADC_FLAG_EOC 转换结束标志位
adc=ADC_GetConversionValue(ADC1);
return adc;//返回最近一次ADCx规则组的转换结果
}
这个程序的8位单片机风格很重,真正的ADC一定要放在DMA或是中断之中。
STM32ADC模数转 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)