[应用相关] ADC 驱动

[复制链接]
639|17
 楼主| pangb 发表于 2020-4-11 14:26 | 显示全部楼层 |阅读模式
void ADCInit(void)
{
  // ADC init
  // ADC Deinit
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_ADC2|RCC_APB2Periph_GPIOA, ENABLE);
  ADC_DeInit(ADC1);

  // RA1 - analog input
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
  GPIO_InitStructure.GPIO_Speed = 0;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
  GPIO_Init (GPIOA, &GPIO_InitStructure);

  // ADC Structure Initialization
  ADC_StructInit(&ADC_InitStructure);

  // Preinit
  ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
  ADC_InitStructure.ADC_ScanConvMode = DISABLE;
  ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  ADC_InitStructure.ADC_NbrOfChannel = 1;
  ADC_Init(ADC1, &ADC_InitStructure);

  // Enable the ADC
  ADC_Cmd(ADC1, ENABLE);
}
ADC 初始化 这个没疑问
 楼主| pangb 发表于 2020-4-11 14:31 | 显示全部楼层
Int16U GetADCChanel(Int8U chanel) {

  // Configure chanel
  ADC_RegularChannelConfig(ADC1, chanel, 1, ADC_SampleTime_55Cycles5);

  // Start the conversion
  ADC_SoftwareStartConvCmd(ADC1, ENABLE);

  // Wait until conversion completion
  while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);

  // Get the conversion value
  return ADC_GetConversionValue(ADC1);

}获取通道这里是什么意思?
wangpe 发表于 2020-4-11 14:34 | 显示全部楼层
是不是ADC有很多通道,对应很多Io?
songqian17 发表于 2020-4-11 14:36 | 显示全部楼层
这是获取指定通道的转换结果,你看返回值。
huwr 发表于 2020-4-11 14:41 | 显示全部楼层
adc有很多通道的  看看你使用的是哪个通道啊
wenfen 发表于 2020-4-11 14:44 | 显示全部楼层
配置的时候及应该配置好了的啊
chenho 发表于 2020-4-11 14:46 | 显示全部楼层
使能通道后,直接读取,默认的应该就是使能的这个通道吧。
 楼主| pangb 发表于 2020-4-11 14:49 | 显示全部楼层
我有8路电压要测量
supernan 发表于 2020-4-11 14:54 | 显示全部楼层
用来测量多路电压
hanzhen654 发表于 2020-4-11 14:56 | 显示全部楼层
ADC驱动很简单,12位的基本上很常用啦
 楼主| pangb 发表于 2020-4-11 14:57 | 显示全部楼层
配置不就是初始化吗
zyf部长 发表于 2020-4-11 14:59 | 显示全部楼层
恩 对 就是说配置的时候就要弄好是哪个通道
hanwe 发表于 2020-4-11 15:02 | 显示全部楼层

用的是哪个ADC通道
wangzsa 发表于 2020-4-11 15:05 | 显示全部楼层
是的 就是初始化
gongche 发表于 2020-4-11 15:09 | 显示全部楼层
就是获取你索要通道的转换结果
songqian17 发表于 2020-4-11 15:14 | 显示全部楼层
你读取结果的时候能看到是从哪个里边读出来的啊
 楼主| pangb 发表于 2020-4-11 15:17 | 显示全部楼层
分别映射到GPIO引脚上面
 楼主| pangb 发表于 2020-4-11 15:20 | 显示全部楼层
现在会用了,还是得多练习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部