STM32使用ADC功能
1.关于ADC输入通道与GPIO口的输入关系需要查看STM32芯片手册(p31)而非数据手册 。
2.外部触发源指的是触发ADC采样的触发信号,这与1的GPIO口输入是两个不同概念 。而JEXTBEL[2:0]或者EXTBEL[2:0]决定具体是哪个触发源 。
3.大的方向,触发模式分为了 ADON位触发启动和外部触发启动ADC转换两种 。用后者就行了
【STM32使用ADC功能】4.当我们使用一个ADC要采集多个通道时,单独规则组由于只使用了一个数据寄存器,并且是整个组转换完后才会触发中断,因此数据会覆盖,这种情况下需要使用DMA方法(后面采用试试),这时数据写到SRAM中了 。而单独使用注入组总共可最多有四个通道,对应四个数据寄存器,不存在覆盖 。
5.关于注入通道和规则通道,原子说的很形象,前者相当于中断,能打断后者 。并且举得监控例子不错
6.双ADC模式是指ADC1和ADC2两个ADC同时使用的情况 。其实对于我们如果使用通道少的话,一个ADC就够用了,比如使用一个注入组就能采集四个通道,而使用规则组就可以采集16个通道,一起就能20个通道了.
二、利用STM32内部温度传感器测量温度:
32的温度值与电压值成正比关系,利用下列公式得出温度
温度(°C) = {(V25- VSENSE) / Avg_Slope} + 25
这里:
V25=VSENSE在25°C时的数值
Avg_Slope=温度与VSENSE曲线的平均斜率(单位为mV/ °C或μV/ °C)
注意这里的V25和Vsense对应的是电压值,参考32的芯片手册可知,V25典型值为1.43,Avg_Slope为4.3mv/°C,Vsense即当前要测量温度对应的电压值,当3.3V对应3095,因此当前电压的计算可由比例关系Vsense = 3.3*当前寄存器采样值/4095 。然后由上面公式得到当前温度 。
//另注:自带的温度传感器是测试芯片自身温度,用其来测环境温度肯定有误差
推荐阅读
- STM32 CAN 过滤器分析小结
- STM32系列第19篇--内部温度传感器
- STM32笔记SD卡的读写和FatFS文件系统
- 基于stm32f103zet6的串口学习
- 家庭装修设计实木家具使用注意事项
- 晶彩膜使用的三大注意事项
- FreeRTOS在STM32应用中的中断优先级设置问题
- 加湿器的危害 如何正确使用加湿器减少危害?
- STM32学习笔记---SST25VF016BSPI实验
- 关于stm32定时器的理解