OpenEdv-开源电子网

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

STM32F103C8T6遇到个奇怪的问题

[复制链接]

17

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
172
金钱
172
注册时间
2014-6-4
在线时间
19 小时
发表于 2023-4-16 23:20:53 | 显示全部楼层 |阅读模式
1金钱
STM32F103C8T6  PA0设置成模拟输入  引脚5.1K接地   刚上电几分钟  正常  但是过会引脚上就会有1.几V的电压  断电后烙铁烫一下  又正常  过会又不正常  哪位能帮忙分析下

void ADC1_GPIO_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;   
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);         
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;                    //GPIO设置为模拟输入
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  GPIO_Init(GPIOA, &GPIO_InitStructure);  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
  GPIO_Init(GPIOA, &GPIO_InitStructure);          
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
  GPIO_Init(GPIOA, &GPIO_InitStructure);  
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
  GPIO_Init(GPIOA, &GPIO_InitStructure);  

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  GPIO_Init(GPIOB, &GPIO_InitStructure);  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
  GPIO_Init(GPIOB, &GPIO_InitStructure);         
}

void  Adc_Init(void)
{        
        ADC_InitTypeDef ADC_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1, ENABLE );          //使能ADC1通道时钟


        RCC_ADCCLKConfig(RCC_PCLK2_Div6);   //设置ADC分频因子6 72M/6=12,ADC最大时间不能超过14M

        //PA 作为模拟通道输入引脚                        
        ADC1_GPIO_Config();//初始化输入引脚

        ADC_DeInit(ADC1);  //复位ADC1,将外设 ADC1 的全部寄存器重设为缺省值

        ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;        //ADC工作模式:ADC1和ADC2工作在独立模式
        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数据右对齐
        ADC_InitStructure.ADC_NbrOfChannel = 1;        //顺序进行规则转换的ADC通道的数目
        ADC_Init(ADC1, &ADC_InitStructure);        //根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器   


        ADC_Cmd(ADC1, ENABLE);        //使能指定的ADC1
       
        ADC_ResetCalibration(ADC1);        //使能复位校准  
         
        while(ADC_GetResetCalibrationStatus(ADC1));        //等待复位校准结束
       
        ADC_StartCalibration(ADC1);         //开启AD校准

        while(ADC_GetCalibrationStatus(ADC1));         //等待校准结束

//        ADC_SoftwareStartConvCmd(ADC1, ENABLE);                //使能指定的ADC1的软件转换启动功能

}                                  

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
172
金钱
172
注册时间
2014-6-4
在线时间
19 小时
 楼主| 发表于 2023-4-16 23:23:11 | 显示全部楼层
还有PA4也不正常 与PA0现象一致 只是电压值小一点
回复

使用道具 举报

11

主题

2103

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4588
金钱
4588
注册时间
2015-1-10
在线时间
574 小时
发表于 2023-4-17 10:14:55 | 显示全部楼层
MCU烫不烫?
回复

使用道具 举报

17

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
172
金钱
172
注册时间
2014-6-4
在线时间
19 小时
 楼主| 发表于 2023-4-19 11:43:32 | 显示全部楼层
不烫  其它功能正常   另 PA12 13 15 设成上拉输入  电压却只有2V  0.几伏
回复

使用道具 举报

17

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
172
金钱
172
注册时间
2014-6-4
在线时间
19 小时
 楼主| 发表于 2023-4-19 11:44:02 | 显示全部楼层
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
       
  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_12;//PB12
        GPIO_Init(GPIOB, &GPIO_InitStructure);//3õê¼»ˉGPIO
       
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_13;//PB13       
        GPIO_Init(GPIOB, &GPIO_InitStructure);//3õê¼»ˉGPIO               
       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_8;//
        GPIO_Init(GPIOA, &GPIO_InitStructure);//3õê¼»ˉGPIO       
  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_11;//
        GPIO_Init(GPIOA, &GPIO_InitStructure);//3õê¼»ˉGPIO       
  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_12;//
        GPIO_Init(GPIOA, &GPIO_InitStructure);//3õê¼»ˉGPIO       
  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_15;//
        GPIO_Init(GPIOA, &GPIO_InitStructure);//3õê¼»ˉGPIO       

  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_3;//
        GPIO_Init(GPIOB, &GPIO_InitStructure);//3õê¼»ˉGPIO       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_4;//
        GPIO_Init(GPIOB, &GPIO_InitStructure);//3õê¼»ˉGPIO       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_5;//
        GPIO_Init(GPIOB, &GPIO_InitStructure);//3õê¼»ˉGPIO       
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_6;//
        GPIO_Init(GPIOB, &GPIO_InitStructure);//3õê¼»ˉGPIO       

其它设成输入的正常        
回复

使用道具 举报

17

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
172
金钱
172
注册时间
2014-6-4
在线时间
19 小时
 楼主| 发表于 2023-4-19 14:01:31 | 显示全部楼层
可能是没有外接上拉的原因
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6661
金钱
6661
注册时间
2016-5-29
在线时间
909 小时
发表于 2023-4-20 12:41:11 | 显示全部楼层
关闭内部上拉电阻 试一下,看这个现象类似引脚浮空.
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 11:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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