打印
[应用相关]

STM32ADC 驱动的疑惑

[复制链接]
887|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanzhen654|  楼主 | 2018-7-26 21:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADC 初始化 这个没疑问
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);
}


沙发
hanzhen654|  楼主 | 2018-7-26 21:52 | 只看该作者
获取通道这里是什么意思?
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);

}


使用特权

评论回复
板凳
hanzhen654|  楼主 | 2018-7-26 21:52 | 只看该作者
是不是ADC有很多通道,对应很多Io?

使用特权

评论回复
地板
21mengnan| | 2018-7-26 22:22 | 只看该作者
hanzhen654 发表于 2018-7-26 21:52
获取通道这里是什么意思?

这是获取指定通道的转换结果,你看返回值。

使用特权

评论回复
5
heimaojingzhang| | 2018-7-27 08:28 | 只看该作者
adc有很多通道的  看看你使用的是哪个通道啊

使用特权

评论回复
6
paotangsan| | 2018-7-27 09:24 | 只看该作者
配置的时候及应该配置好了的啊

使用特权

评论回复
7
jerow| | 2018-7-27 10:19 | 只看该作者
21mengnan 发表于 2018-7-26 22:22
这是获取指定通道的转换结果,你看返回值。

使能通道后,直接读取,默认的应该就是使能的这个通道吧。

使用特权

评论回复
8
hanzhen654|  楼主 | 2018-7-28 10:25 | 只看该作者
heimaojingzhang 发表于 2018-7-27 08:28
adc有很多通道的  看看你使用的是哪个通道啊

我有8路电压要测量

使用特权

评论回复
9
hanzhen654|  楼主 | 2018-7-28 10:26 | 只看该作者
21mengnan 发表于 2018-7-26 22:22
这是获取指定通道的转换结果,你看返回值。

懂了,用来测量多路电压

使用特权

评论回复
10
hanzhen654|  楼主 | 2018-7-28 10:26 | 只看该作者
paotangsan 发表于 2018-7-27 09:24
配置的时候及应该配置好了的啊

配置不就是初始化吗

使用特权

评论回复
11
labasi| | 2018-7-28 10:39 | 只看该作者
恩 对 就是说配置的时候就要弄好是哪个通道

使用特权

评论回复
12
android2| | 2018-7-30 21:12 | 只看该作者
用的是哪个ADC通道

使用特权

评论回复
13
paotangsan| | 2018-8-3 14:43 | 只看该作者
hanzhen654 发表于 2018-7-28 10:26
配置不就是初始化吗

是的 就是初始化

使用特权

评论回复
14
598330983| | 2018-8-3 16:45 | 只看该作者
就是获取你索要通道的转换结果

使用特权

评论回复
15
wowu| | 2018-8-10 13:04 | 只看该作者
你读取结果的时候能看到是从哪个里边读出来的啊

使用特权

评论回复
16
hanzhen654|  楼主 | 2018-8-24 13:43 | 只看该作者
labasi 发表于 2018-7-28 10:39
恩 对 就是说配置的时候就要弄好是哪个通道

现在明白了,谢谢了

使用特权

评论回复
17
hanzhen654|  楼主 | 2018-8-24 13:43 | 只看该作者
android2 发表于 2018-7-30 21:12
用的是哪个ADC通道

分别映射到GPIO引脚上面

使用特权

评论回复
18
hanzhen654|  楼主 | 2018-8-24 13:44 | 只看该作者
598330983 发表于 2018-8-3 16:45
就是获取你索要通道的转换结果

现在会用了,还是得多练习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

1766

帖子

2

粉丝