完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、简介
检测雨量的强度,工作电压在 3.3-5v。 二、连线 雨滴检测板与传感器相连(不分正负),传感器与开发板相连,记得vcc与gnd不要接反,不小心烧到一个了。 引脚D0是开关信号输出,检测有没有雨滴(0和1),本处接到PD5引脚 引脚A0是模拟电压输出,可以输出模拟电压,需要接到对应功能的引脚,本处接到PA1引脚 三、代码 在rain.h 文件中,我们先进行宏定义,方便移植 #include "system.h" #define RAIN_STATE() GPIO_ReadInputDataBit(rain_PORT,rain_PIN)//读红外的状态 #define rain_PORT GPIOC #define rain_PIN GPIO_Pin_4 #define rain_RCC RCC_APB2Periph_GPIOC 定义完了之后,再对rain.c文件中的PD5接收引脚进行初始化 //对雨滴传感器的端口进行初始化 void rain_INIT(void) { GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量 RCC_APB2PeriphClockCmd(rain_RCC,ENABLE); GPIO_InitStructure.GPIO_Pin=rain_PIN; //选择你要设置的IO口 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //设置浮空输入 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率 GPIO_Init(rain_PORT,&GPIO_InitStructure); /* 初始化GPIO */ } 最后,在main.c函数里面进行情况选择,只是了解传感器的使用,没有运用实际项目,所以写的很简单。 int main() { u8 i=0; u16 value=0; float vol; SysTick_Init(72); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组 LED_Init(); USART1_Init(115200); ADCx_Init(); while(1) { i++; if(i%20==0) { LED1=!LED1; } if(i%50==0) { value=Get_ADC_Value(ADC_Channel_1,20); printf("检测AD值为:%drn",value); vol=(float)value*(3.3/4096); printf("检测电压值为:%.2fVrn",vol); } delay_ms(10); } } 传送门:串口、ADC基础知识和初始化文章 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1936浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
729浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
569浏览 3评论
594浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
552浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 17:34 , Processed in 0.928165 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号