OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5929|回复: 5

STM32F407VET6的ADC引脚重映射问题

[复制链接]

2

主题

8

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2021-1-20
在线时间
9 小时
发表于 2021-9-1 14:52:55 | 显示全部楼层 |阅读模式
5金钱
想用STM32F407VET6的C1 C2 C3引脚做ADC,后面一看手册是需要做重映射的,然而发现重映射函数里面没有找到重映射ADC的宏定义,请问有人知道怎么做F4的ADC引脚重映射吗

STM32F407VET6手册引脚说明:



引脚重映射函数:


可重映射的宏定义:

最佳答案

查看完整内容[请看2#楼]

可以用了,非常感谢 原来是我的处理代码部分出问题,adc数据采集是对的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2021-1-20
在线时间
9 小时
 楼主| 发表于 2021-9-1 14:52:56 | 显示全部楼层
千湖 发表于 2021-9-6 09:23
ADC不需要。怀疑的东西直接做,自己验证一下就清楚了

可以用了,非常感谢
原来是我的处理代码部分出问题,adc数据采集是对的
回复

使用道具 举报

10

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1554
金钱
1554
注册时间
2017-10-9
在线时间
131 小时
发表于 2021-9-2 14:27:03 | 显示全部楼层
/**
  * @brief   初始化AD8314对应得ADC,采集高低电平
  * @param   None
  * @retval  None
  */
void AD8314_ADC_Init(void)
{
    GPIO_InitTypeDef        GPIO_InitStructure;
    ADC_InitTypeDef         ADC_InitStructure;
    ADC_CommonInitTypeDef   ADC_CommonInitStructure;
   
    /*=============================配置ADC对应的GPIO=============================*/
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);    // 初始化GPIOC时钟

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;               // PC4
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;            // 模拟输入
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;       // 不带上下拉
    GPIO_Init(GPIOC, &GPIO_InitStructure);

   
    /*=============================ADC时钟使能=============================*/
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);    // 使能ADC1时钟

    RCC_AHB2PeriphResetCmd(RCC_APB2Periph_ADC1, ENABLE);    // ADC1复位
    RCC_AHB2PeriphResetCmd(RCC_APB2Periph_ADC1, DISABLE);   // 复位结束
   
   
    /*=============================ADC公共部分配置=============================*/
    ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;      // 独立模式单通道
    ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div4;   // ADC采样时钟21MHz
    ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;    // DMA失能
    ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;    // 两个采样延时5个Tadcclk,此配置仅在交替模式中生效
    ADC_CommonInit(&ADC_CommonInitStructure);

   
    /*=============================ADC1部分配置=============================*/
    ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;      // 12位
    ADC_InitStructure.ADC_ScanConvMode = DISABLE;               // 禁止扫描模式
    ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;         // 连续转换
    ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;  // 禁止触发检测
    ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1;   // 软件触发,此配置无用
    ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;      // 右对齐
    ADC_InitStructure.ADC_NbrOfConversion  = 1;                 // 转换通道1个

    /*=============================ADC1部分配置=============================*/
    ADC_Init(ADC1, &ADC_InitStructure);
   
   
    ADC_Cmd(ADC1, ENABLE);          // 使能ADC1
   
}
回复

使用道具 举报

10

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1554
金钱
1554
注册时间
2017-10-9
在线时间
131 小时
发表于 2021-9-2 14:27:53 | 显示全部楼层
千湖 发表于 2021-9-2 14:27
/**
  * @brief   初始化AD8314对应得ADC,采集高低电平
  * @param   None

我这个是PC4的使用,你修改一下就可以了
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2021-1-20
在线时间
9 小时
 楼主| 发表于 2021-9-2 15:25:52 | 显示全部楼层
千湖 发表于 2021-9-2 14:27
我这个是PC4的使用,你修改一下就可以了

可是这个看起来没有做重映射,不需要做重映射也可以正常使用吗
回复

使用道具 举报

10

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1554
金钱
1554
注册时间
2017-10-9
在线时间
131 小时
发表于 2021-9-6 09:23:12 | 显示全部楼层
aydzm 发表于 2021-9-2 15:25
可是这个看起来没有做重映射,不需要做重映射也可以正常使用吗

ADC不需要。怀疑的东西直接做,自己验证一下就清楚了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 22:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表