STM32/STM8技术william hill官网
直播中

山东挂面

10年用户 12经验值
擅长:可编程逻辑 MEMS/传感技术 测量仪表 嵌入式技术 光电显示 处理器/DSP 控制/MCU RF/无线
私信 关注
[问答]

原子战舰stm32开发板--内部温度传感器实验--几点疑惑

  本人在学习原子战舰STM32开发板实验--内部温度传感器实验时,有以下疑惑,还望各位可以给予帮助,谢谢。
(1)ADC初始化部分代码
  1. //初始化ADC
  2. //这里我们仅以规则通道为例
  3. //我们默认将开启通道0~3       
  4. void T_Adc_Init(void)  //ADC通道初始化
  5. {
  6.         //变量定义
  7.         ADC_InitTypeDef ADC_InitStructure;  //用于ADC初始化
(2)疑惑
a. 内部温度传感器连接的是ADCx_IN16,即和通道16相连,那么在ADC初始化函数中
  1. ADC_InitStructure.ADC_NbrOfChannel = 1;
这句话就应该配置为16,而不是1啊。原例程是不是错了?

b. 内部温度传感器并没有占用GPIOA啊,为什么依旧要开启GPIOA的时钟?
  1. //使能GPIOA时钟和ADC1时钟
  2. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_ADC1,ENABLE );

c. 查阅一些别的资料,有的说要选中ADC1的通道16作为输入,设置采样时间17.1us ( Ncycle × tADC = 17.1靤 )。而原例程中没有这句话,是否是漏掉了?
  1. // ADC1 regular channel16 Temp Sensor configuration
  2. ADC_RegularChannelConfig(ADC1, ADC_Channel_16, 1, ADC_SampleTime_55Cycles5);

感谢各位给予解答,谢谢!



已退回2积分

回帖(4)

呼佳悦

2015-8-22 21:39:41
楼主 最后解决了吗
举报

山东挂面

2015-8-23 07:14:26
引用: huhu200819 发表于 2015-8-22 21:39
楼主 最后解决了吗

没有呢,你可以解答吗
举报

w23pp32

2017-4-28 11:42:57
a),这个是指ADC通道的数量,你是单通道所以选择1,如果你填16就是表示有16路输入通道
b)????
c)
举报

人中狼

2017-4-28 12:23:10
楼主可以下载一个库函数手册,一个多参数函数,不会只设定一个内容的,而且如果用库函数方式编程,有手册在手,方便很多
举报

更多回帖

发帖
×
20
完善资料,
赚取积分