STM32H743+CubeMX-使用ADC(16bit分辨率)模数转换器读取CPU的温度(串行方式)
生活随笔
收集整理的這篇文章主要介紹了
STM32H743+CubeMX-使用ADC(16bit分辨率)模数转换器读取CPU的温度(串行方式)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 一、前言
- 二、CubeMX
- 2.1、RCC
- 2.2、SYS
- 2.3、ADC
- 2.4、Clock Configuration
- 四、代碼
- 4.1、adc.c
- 4.2、adc.h
- 4.3、main.h
- 4.4、main.c
- 五、DEBUG
- 5.1、Debug (printf)Viewer
- 5.2、觀察實時變量
- 六、細節(jié)補充
- 6.1、ADC的工作頻率注意事項
一、前言
CubeMX配置ADC的梳理筆記:STM32H743+CubeMX-梳理MPU的設(shè)置
STM32H743內(nèi)部集成了一個溫度傳感器,可以使用ADC3_INP18通道測量CPU當(dāng)前的溫度。
官方手冊提供計算公式,值得注意的是,該公式成立的條件是參考電壓為3.3V!!!!!!!!!!!!!
我使用的是硬石科技的H7開發(fā)板,外部參考電壓是3.3V。如果芯片的外部參考電壓是2.5V的話,我暫時也找不到方法計算MCU的溫度!!!!!!!!!!!!!
二、CubeMX
2.1、RCC
2.2、SYS
2.3、ADC
2.4、Clock Configuration
四、代碼
4.1、adc.c
函數(shù)void MX_ADC3_Init(void)下添加如下用戶代碼。
最后,在adc.c文件最底部編寫函數(shù)float get_CPU_Temperature(uint32_t Timeout)。
4.2、adc.h
4.3、main.h
4.4、main.c
五、DEBUG
5.1、Debug (printf)Viewer
順利獲取CPU的溫度信息。
5.2、觀察實時變量
六、細節(jié)補充
6.1、ADC的工作頻率注意事項
網(wǎng)絡(luò)上流傳著ADC的工作頻率不能超過80M,否則會不準。我認為大家可以注意一下這個問題。
總結(jié)
以上是生活随笔為你收集整理的STM32H743+CubeMX-使用ADC(16bit分辨率)模数转换器读取CPU的温度(串行方式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php采集绕过cloudflare,三行
- 下一篇: linux upgrade tool使用