你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

温室大棚自动喷洒系统----H743temperature sensor

[复制链接]
stary666 发布时间:2019-5-12 16:40
今天抽时间研究一下temperature sensor温度传感器,; q7 z# D! D' u: P3 v0 o, I$ h
使用ADC1  PA5实现  ]+ f( o( `& Q
在上帖子的基础上增加ADC1的驱动,如下
0 `% U  g: z8 Z, g& c" EADC1_Handler.Instance=ADC1;
  P3 Q/ e6 {& T' d' F3 `1 MGPIO_InitTypeDef GPIO_Initure;5 Y0 g$ U/ T- G3 ^3 m
    __HAL_RCC_ADC12_CLK_ENABLE();           //ʹÄÜADC1/2ʱÖÓ
! F3 t& L4 A+ v    __HAL_RCC_GPIOA_CLK_ENABLE();                        //¿ªÆôGPIOAʱÖÓ
. r* f3 p" {% n9 s) w        __HAL_RCC_ADC_CONFIG(RCC_ADCCLKSOURCE_CLKP); //ADCÍâÉèʱÖÓÑ¡Ôñ
8 x  q3 H0 c" h* S        
! K7 G# S; E; ?. ?' j    GPIO_Initure.Pin=GPIO_PIN_5;            //PA5
- B7 M) S9 ?  b; z8 c, v. w7 p% }    GPIO_Initure.Mode=GPIO_MODE_ANALOG;     //Ä£Äâ
1 U: x* e2 ~: W+ c& k# @  J    GPIO_Initure.Pull=GPIO_NOPULL;          //²»´øÉÏÏÂÀ­
, y- Q$ F) o; i) \4 M    HAL_GPIO_Init(GPIOA,&GPIO_Initure);( @6 M5 t, L6 l4 M, ~

! ]9 I6 U, V1 V    ADC1_Handler.Init.ClockPrescaler=ADC_CLOCK_SYNC_PCLK_DIV4;         //4·ÖƵ£¬ADCCLK=PER_CK/4=64/4=16MHZ
6 G8 y% N; C. D/ z/ @    ADC1_Handler.Init.Resolution=ADC_RESOLUTION_16B;                   //16λģʽ4 ~/ X1 e. k7 e4 Q, E1 T0 d: Z, @
    ADC1_Handler.Init.ScanConvMode=DISABLE;                            //·ÇɨÃèģʽ2 O3 G6 e0 j% l- Y# F
    ADC1_Handler.Init.EOCSelection=ADC_EOC_SINGLE_CONV;               //¹Ø±ÕEOCÖжÏ
" s3 @) M# b/ \5 i& r        ADC1_Handler.Init.LowPowerAutoWait=DISABLE;                                        //×Ô¶¯µÍ¹¦ºÄ¹Ø±Õ                                * L3 G' e6 {, Q' t
    ADC1_Handler.Init.ContinuousConvMode=DISABLE;               //¹Ø±ÕÁ¬Ðøת»»
* L3 }; W/ @# V4 Q& d8 c5 N    ADC1_Handler.Init.NbrOfConversion=1;                        //1¸öת»»ÔÚ¹æÔòÐòÁÐÖÐ Ò²¾ÍÊÇֻת»»¹æÔòÐòÁÐ1 8 Q: j  v- I6 B* ~/ d
    ADC1_Handler.Init.DiscontinuousConvMode=DISABLE;            //½ûÖ¹²»Á¬Ðø²ÉÑùģʽ
! o/ C! \, ~, S    ADC1_Handler.Init.NbrOfDiscConversion=0;                    //²»Á¬Ðø²ÉÑùͨµÀÊýΪ03 C" k1 J- e: \' X; m
    ADC1_Handler.Init.ExternalTrigConv=ADC_SOFTWARE_START;      //Èí¼þ´¥·¢
4 X7 @3 ^% A/ x0 B6 K, j( r" W    ADC1_Handler.Init.ExternalTrigConvEdge=ADC_EXTERNALTRIGCONVEDGE_NONE;//ʹÓÃÈí¼þ´¥·¢
( m* Z: i) Q) P5 \        ADC1_Handler.Init.BoostMode=ENABLE;                                                        //BOOTģʽ¹Ø±Õ
, g7 c! J; j9 G        ADC1_Handler.Init.Overrun=ADC_OVR_DATA_OVERWRITTEN;                        //ÓÐеÄÊý¾ÝµÄËÀºóÖ±½Ó¸²¸Çµô¾ÉÊý¾Ý
. B7 r1 g1 O0 J' M2 Z; r        ADC1_Handler.Init.OversamplingMode=DISABLE;                                        //¹ý²ÉÑù¹Ø±Õ
) }% d0 p3 z' E; Y' O. `        ADC1_Handler.Init.ConversionDataManagement=ADC_CONVERSIONDATA_DR;  //¹æÔòͨµÀµÄÊý¾Ý½ö½ö±£´æÔÚDR¼Ä´æÆ÷ÀïÃæ
1 k8 F3 U- g6 p7 a3 c8 c    HAL_ADC_Init(&ADC1_Handler);                                 //³õʼ»¯ , \1 T4 V3 C$ o7 F( q
        
( o$ T$ m# ~0 C' U& P        HAL_ADCEx_Calibration_Start(&ADC1_Handler,ADC_CALIB_OFFSET,ADC_SINGLE_ENDED); //ADCУ׼. e9 @2 J5 r9 L# L# ~  z9 E( b
% O8 a2 W  Y( P$ R# B  ^# V
* P3 j' a0 @- J. J2 O+ _
在while增加
& U! t- ~* ?0 Z2 Ladcx=Get_Adc_Average(ADC_CHANNEL_19,20);//) _; `; T  I( p/ E
temp=(float)adcx*(3.3/65536);         //9 c3 F# j8 s0 E9 p( I8 h  f( C
编译运行即可. X, D4 K1 {. l5 m1 O% w, _3 s
接线见下图
5 E/ V1 u: H$ F. E 微信图片_20190512163154.jpg 微信图片_20190512163207.jpg ! b  D- `0 z' |9 Q/ k% H0 E$ I9 i
收藏 评论8 发布时间:2019-5-12 16:40

举报

8个回答
Kevin_G 回答时间:2019-5-12 21:48:03
点赞
stary666 回答时间:2019-5-12 22:05:56
谢谢
radio2radio 回答时间:2019-5-12 22:40:04
本帖最后由 radio2radio 于 2019-5-12 22:41 编辑
  \; X  f% P$ l2 L9 w( g( h. Y' J) I& x& `! b7 B; f
楼主不觉得大材小用了吗,L011都胜任。
stary666 回答时间:2019-5-13 09:16:55
不想让板子吃灰,顺便研究一下
STMCU-管管 回答时间:2019-5-13 13:51:25
支持支持,谢谢分享啊
stary666 回答时间:2019-5-14 08:55:37
谢谢支持
hbthgs 回答时间:2019-5-24 13:42:13
支持支持,谢谢分享啊
stary666 回答时间:2019-5-25 09:29:39
谢谢

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版