www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 程序員小哈

繼續(xù)完成后臺網(wǎng)友詢問:


如何使用STM32CubeMX設(shè)計代碼框架,然后實(shí)現(xiàn)CPU內(nèi)置溫度傳感器測量CPU芯片溫度,然后以串口輸出的形式輸出芯片的溫度值,數(shù)據(jù)更新周期1000ms。


STM32CubeMX工具的安裝及驅(qū)動LED教程參見上一個網(wǎng)文:

4行代碼實(shí)現(xiàn)LED閃爍
實(shí)現(xiàn)環(huán)境為:

  • STM32CubeMX Version 5.3.0

  • STM32F103C8T6最小系統(tǒng)板

  • PC13與板載LED相連

今天為了跟上節(jié)內(nèi)容有所不同,我們這次選用STM32F407VGT6芯片測試,STM32CubeMX的工程設(shè)置基本類似,具體實(shí)現(xiàn)如下。

實(shí)現(xiàn)目標(biāo):

  • STM32CubeMX創(chuàng)建工程及參數(shù)配置

  • 串口1實(shí)現(xiàn)printf輸出重定向

  • 求得CPU內(nèi)置溫度傳感器的值,其實(shí)就是求得ADC的值,然后將電壓值轉(zhuǎn)為溫度值

本文使用的STM32CubeMX版本為5.3.0:


創(chuàng)建工程及參數(shù)配置

  • 新建工程


  • 選擇對應(yīng)的MCU


  • 雙擊選擇的MCU,進(jìn)入配置界面:

配置RCC,使用外部晶振如圖所示:


SYS中要把SYS Mode中的Debug設(shè)置成 Serial Wire,如果是No Debug的話,可能第一次使用SWD下載之后,就不能二次下載程序了。

如果出現(xiàn)SWD模式不能下載的情況,可以嘗試按住復(fù)位鍵的情況下,下載固件。


  • 配置USART1,模式為異步,不使用硬件流控。


  • 配置ADC1的溫度傳感器通道


  • 時鐘樹配置參考下圖所示:


  • 工程設(shè)置:



  • 生成代碼


串口1實(shí)現(xiàn)printf輸出重定向

  • 打開Keil5工程:


  • usart.c文件中添加如下代碼:


  • main.c文件中添加引用的頭文件,注意添加位置。


添加代碼

  • 定義變量


其中,變量AD_Value為保存內(nèi)置溫度傳感器對應(yīng)ADC的AD值,變量temperate為保存當(dāng)前CPU芯片溫度。


  • 添加代碼


ADC值獲取的語句:

HAL_ADC_Start(&hadc1);
 
HAL_ADC_PollForConversion(&hadc1,10); if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC))
{
 AD_Value = HAL_ADC_GetValue(&hadc1);
 temperate=(float)(AD_Value*3.3/4096); //轉(zhuǎn)為電壓值 }


printf打印輸出結(jié)果的語句:

printf("AD_Value : %.2f V \r\n",temperate); printf("MCU Temperature : %.1f度\r\n",temperate);


將電壓值轉(zhuǎn)為溫度值的語句:

temperate=(temperate-0.76)/0.0025+25;


  • 編譯,沒有錯誤:


  • 配置JLINK下載程序方式為SW:


  • 點(diǎn)擊“Settings”設(shè)置如下:


  • 確定之后,點(diǎn)擊下面1處進(jìn)行工程編譯,然后點(diǎn)擊下圖2處進(jìn)行程序下載。


下載程序之后,重新上電,發(fā)現(xiàn)串口助手上有當(dāng)前電壓和轉(zhuǎn)化后的溫度值打印出來。

其實(shí)我們可以看到,利用單次獲取的ADC的值計算溫度,這個溫度值不是很穩(wěn)定,實(shí)際使用的時候,可以多次獲取電壓值,然后取平均值能稍微穩(wěn)定些。

這個溫度值僅適合作為內(nèi)核溫度的一個參考使用。

總結(jié)

至此,通過兩篇網(wǎng)文,分享了使用STM32CubeMX創(chuàng)建工程并獲取CPU芯片溫度的全部過程,大家可以照著做一下哈。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉