国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

TPYBoard讀取芯片上的溫度傳感器

發布時間:2017-9-21 17:27    發布者:bodasister
  轉載請以鏈接形式注明文章來源,公眾號:MicroPython玩家匯

  一、STM32內部溫度傳感器概要

  STM32芯片內部一項獨特的功能就是內部集成了一個溫度傳感器,因為是內置,所以測試的是芯片內部的溫度,如果芯片外接負載一定的情況下,那么芯片的發熱也基本穩定,相對于外界的溫度而言,這個偏差值也是基本穩定的.也就是說用STM32內部傳感器來測量外界環境的溫度。

  在一些惡劣的應用環境下面,可以通過檢測芯片內部而感知設備的工作環境溫度,如果溫度過高或者過低了則馬上睡眠或者停止運轉.可以保證您的設備工作的可靠性。

  目前我國的北斗導航定位系統已經比較成熟,北斗導航應用的范圍越來越廣,正是基于這個時代大背景下做出一塊利用北斗系統定位的開發板,可以方便演示定位系統,提高北斗智慧的技術技能,讓更多的人了解北斗智慧以及北斗導航相關知識和開發北斗相關產品方向。

  二、STM32內部溫度傳感器參數

  1.STM32內部溫度傳感器與ADC的通道16相連,與ADC配合使用實現溫度測量;

  2.測量范圍–40~125℃,精度±1.5℃。

  3.溫度傳感器產生一個隨溫度線性變化的電壓,轉換范圍在2V

  手冊中對于公式中的參數說明:


  三、讀取溫度的實現原理

  寫代碼的時候,在測量要求不怎么高的情況下,公式可以簡化。簡化的公式:

  Temperature=(1.42-ADC_Value*3.3/4096)*1000/4.35+25


  程序編寫:

  1.初始化ADC,初始化DMA

  注意:內部溫度傳感器是使用了ADC1的第16通道哦.

  2.ADC_TempSensorVrefintCmd(ENABLE);

  使能溫度傳感器和內部參考電壓通道

  3.按照剛才列出的公式計算

  Temperature=(1.42-ADC_Value*3.3/4096)*1000/4.35+25;

  四、TPYBoard讀取溫度例程

  1. # main.py -- put your code here!
  2. import pyb
  3. import time
  4. import stm
  5. from pyb import Pin

  6. def adcread(chan):                              # 16 temp 17 vbat 18 vref
  7.     assert chan >= 16 and chan <= 18, 'Invalid ADC channel'
  8.     start = pyb.millis()
  9.     timeout = 100
  10.     stm.mem32[stm.RCC + stm.RCC_APB2ENR] |= 0x100 # enable ADC1 clock.0x4100
  11.     stm.mem32[stm.ADC1 + stm.ADC_CR2] = 1       # Turn on ADC
  12.     stm.mem32[stm.ADC1 + stm.ADC_CR1] = 0       # 12 bit
  13.     if chan == 17:
  14.         stm.mem32[stm.ADC1 + stm.ADC_SMPR1] = 0x200000 # 15 cycles
  15.         stm.mem32[stm.ADC + 4] = 1 << 23
  16.     elif chan == 18:
  17.         stm.mem32[stm.ADC1 + stm.ADC_SMPR1] = 0x1000000
  18.         stm.mem32[stm.ADC + 4] = 0xc00000
  19.     else:
  20.         stm.mem32[stm.ADC1 + stm.ADC_SMPR1] = 0x40000
  21.         stm.mem32[stm.ADC + 4] = 1 << 23
  22.     stm.mem32[stm.ADC1 + stm.ADC_SQR3] = chan
  23.     stm.mem32[stm.ADC1 + stm.ADC_CR2] = 1 | (1 << 30) | (1 << 10) # start conversion
  24.     while not stm.mem32[stm.ADC1 + stm.ADC_SR] & 2: # wait for EOC
  25.         if pyb.elapsed_millis(start) > timeout:
  26.             raise OSError('ADC timout')
  27.     data = stm.mem32[stm.ADC1 + stm.ADC_DR]     # clear down EOC
  28.     stm.mem32[stm.ADC1 + stm.ADC_CR2] = 0       # Turn off ADC
  29.     return data

  30. def v33():
  31.     return 4096 * 1.21 / adcread(17)

  32. def vbat():
  33.     return  1.21 * 2 * adcread(18) / adcread(17)  # 2:1 divider on Vbat channel

  34. def vref():
  35.     return 3.3 * adcread(17) / 4096

  36. def temperature():
  37.     return 25 + 400 * (3.3 * adcread(16) / 4096 - 0.76)

  38. adc = pyb.ADCAll(12)
  39. leds = [pyb.LED(i) for i in range(1,5)]

  40. sw=pyb.Switch()
  41. def test():
  42.     pyb.LED(1).on()
  43.     pyb.LED(2).on()
  44.     pyb.LED(3).on()
  45.     pyb.LED(4).on()
  46.     pyb.delay(2000)
  47. sw.callback(test)

  48. for l in leds:
  49.     l.off()

  50. n = 0

  51. try:
  52.    while True:
  53.       n = (n + 1) % 4
  54.       leds[n].toggle()
  55.       pyb.delay(50)
  56.       print('v33:',v33())
  57.       print('vbat:',vbat())
  58.       print('vref:',vref())
  59.       print('temperature:',temperature())
  60. finally:
  61.     for l in leds:
  62.         l.off()
復制代碼



本文地址:http://m.qingdxww.cn/thread-517197-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人综合久久精品亚洲 | 操www| 日本韩国一级片 | 亚洲韩国日本欧美一区二区三区 | 欧美在线视频导航 | 亚洲精品中文字幕乱码影院 | 精品视频在线观看免费 | 三级欧美在线 | 亚洲一级理论片 | 成在线人永久免费播放视频 | 国产一级做a爰片久久毛片男 | 国产美女在线精品观看 | 国内久久久久高清影视 | 91精品国产肉丝高跟在线 | 四虎影院免费视频 | 亚洲最大福利视频 | 黑人操女人视频 | 欧美在线一区二区三区精品 | 免费黄色在线播放 | 女老师完整版 | 国产一区二区在线播放 | 国产综合视频在线观看一区 | 好吊日在线观看 | 日本一区二区三区精品国产 | 天天综合日日噜噜噜 | 全彩acg★无翼乌火影忍者 | 五月天视频网站 | 欧美色99 | 国产在线精品一区二区夜色 | 色avav| 国产一级高清免费观看 | 美女网站色免费 | 国产福利91精品一区二区 | 日韩一区国产二区欧美三 | 久免费视频 | 明星大侦探第四季免费可投屏 | 91欧美一区二区三区综合在线 | 日本一区视频在线观看 | 窝窝社区在线观看www | 99热在线观看免费 | 日韩欧美高清一区 |