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

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

[复制链接]
stary666 发布时间:2019-5-12 16:40
今天抽时间研究一下temperature sensor温度传感器,
使用ADC1  PA5实现
在上帖子的基础上增加ADC1的驱动,如下
ADC1_Handler.Instance=ADC1;
GPIO_InitTypeDef GPIO_Initure;
    __HAL_RCC_ADC12_CLK_ENABLE();           //ʹÄÜADC1/2ʱÖÓ
    __HAL_RCC_GPIOA_CLK_ENABLE();                        //¿ªÆôGPIOAʱÖÓ
        __HAL_RCC_ADC_CONFIG(RCC_ADCCLKSOURCE_CLKP); //ADCÍâÉèʱÖÓÑ¡Ôñ
        
    GPIO_Initure.Pin=GPIO_PIN_5;            //PA5
    GPIO_Initure.Mode=GPIO_MODE_ANALOG;     //Ä£Äâ
    GPIO_Initure.Pull=GPIO_NOPULL;          //²»´øÉÏÏÂÀ­
    HAL_GPIO_Init(GPIOA,&GPIO_Initure);

    ADC1_Handler.Init.ClockPrescaler=ADC_CLOCK_SYNC_PCLK_DIV4;         //4·ÖƵ£¬ADCCLK=PER_CK/4=64/4=16MHZ
    ADC1_Handler.Init.Resolution=ADC_RESOLUTION_16B;                   //16λģʽ
    ADC1_Handler.Init.ScanConvMode=DISABLE;                            //·ÇɨÃèģʽ
    ADC1_Handler.Init.EOCSelection=ADC_EOC_SINGLE_CONV;               //¹Ø±ÕEOCÖжÏ
        ADC1_Handler.Init.LowPowerAutoWait=DISABLE;                                        //×Ô¶¯µÍ¹¦ºÄ¹Ø±Õ                                
    ADC1_Handler.Init.ContinuousConvMode=DISABLE;               //¹Ø±ÕÁ¬Ðø×ª»»
    ADC1_Handler.Init.NbrOfConversion=1;                        //1¸öת»»ÔÚ¹æÔòÐòÁÐÖÐ Ò²¾ÍÊÇֻת»»¹æÔòÐòÁÐ1
    ADC1_Handler.Init.DiscontinuousConvMode=DISABLE;            //½ûÖ¹²»Á¬Ðø²ÉÑùģʽ
    ADC1_Handler.Init.NbrOfDiscConversion=0;                    //²»Á¬Ðø²ÉÑùͨµÀÊýΪ0
    ADC1_Handler.Init.ExternalTrigConv=ADC_SOFTWARE_START;      //Èí¼þ´¥·¢
    ADC1_Handler.Init.ExternalTrigConvEdge=ADC_EXTERNALTRIGCONVEDGE_NONE;//ʹÓÃÈí¼þ´¥·¢
        ADC1_Handler.Init.BoostMode=ENABLE;                                                        //BOOTģʽ¹Ø±Õ
        ADC1_Handler.Init.Overrun=ADC_OVR_DATA_OVERWRITTEN;                        //ÓÐеÄÊý¾ÝµÄËÀºóÖ±½Ó¸²¸Çµô¾ÉÊý¾Ý
        ADC1_Handler.Init.OversamplingMode=DISABLE;                                        //¹ý²ÉÑù¹Ø±Õ
        ADC1_Handler.Init.ConversionDataManagement=ADC_CONVERSIONDATA_DR;  //¹æÔòͨµÀµÄÊý¾Ý½ö½ö±£´æÔÚDR¼Ä´æÆ÷ÀïÃæ
    HAL_ADC_Init(&ADC1_Handler);                                 //³õʼ»¯
        
        HAL_ADCEx_Calibration_Start(&ADC1_Handler,ADC_CALIB_OFFSET,ADC_SINGLE_ENDED); //ADCУ׼


在while增加
adcx=Get_Adc_Average(ADC_CHANNEL_19,20);//
temp=(float)adcx*(3.3/65536);         //
编译运行即可
接线见下图
微信图片_20190512163154.jpg 微信图片_20190512163207.jpg
收藏 评论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 编辑

楼主不觉得大材小用了吗,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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版