STM32学习第一周之 红外光电
如果红外光电开关检测到障碍物,蜂鸣器响,RGBLED 显示红色,如果没有检测到障碍物,蜂鸣器不响,RGBLED 显示绿色
注意:添加一个 InfraredPSwitch.c 和 InfraredPSwitch.h 文件
InfraredPSwitch.h 文件里面,对红外光电开关使用的引脚和端口进行宏定义
InfraredPSwitch.c 文 件 里 面 , 设 计 一 个 InfraredPSwitch_Init 函 数 , 一 个
InfraredPSwitch_Check()函数,返回值为检测到的状态值
如有好的建议还望不吝赐教嚛
直接上代码
InfrarePSwitch_H
#ifndef __InfrarePSwitch_H
#define __InfrarePSwitch_H
#include "sys.h"#define sign GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_1) void InfrarePSwitch_Init(void);
void InfrarePSwitch_Check(void);#endif
InfrarePSwitch.c
#include "sys.h"
#include "delay.h"
#include "RGBLED.h"
#include "BEEP.h"
#include "usart.h"
#include "InfrarePSwitch.h"//初始化PF1口读取光电开关电平
void InfrarePSwitch_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOF, &GPIO_InitStructure); GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_1);
}void InfrarePSwitch_Check(void)
{//GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_1);if(sign == 0){RGBLED_Display(RED, 1);BEEP = 0;}else{RGBLED_Display(GREEN, 1);BEEP = 1;}
}`
关于RGBLED_Display();还请参见第一篇笔记。
链接呈上 https://mp.csdn.net/mdeditor/90343426#
注意: 采用电源模块为红外光电供电时,注意GND和VCC的连接。
将两个线都接在电源模块上;不要一根接在电源模块,另一根接在开发板上。
现在是2022年5月28日,这几天应该是又开始准备电赛了,好几个人问我这个红外光电。
首先如果你找不到他的相关资料,我建议是放弃吧,这种东西的资料满大街都是,你竟然和我说找不到。
其次,如果你目前不精通stm32编程的话,可以用万用表测一下光电开关在有障碍物和无障碍物情况下的电压变化。
最后,建议使用cubemx。
STM32学习第一周之 红外光电相关推荐
- STM32学习第一周之 循环显示RGBLED的七种颜色
写的第一个STM32程序,花了两天时间,最终还是蛮有成就感的 分享出来供大家一起学习,有好的优化建议还请不吝赐教 连接 RGB LED模块,使得该模块能够依次显示 7 种颜色的光,并且可以循环显示. ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第一周
java学习第一周 本周是新学期的开端,也是新的学习进程的开端,第一次接触java这门课程,首先书本的厚度就给我一种无形的压力,这注定了,这门课程不会是轻松的,同时一种全新的学习方 ...
- 掉进悬崖的小白,捡到python基础秘籍,学习第一周——语法基础,小游戏,无脑循环
掉进悬崖的小白,捡到python基础秘籍,学习第一周--语法基础,小游戏,无脑循环 人生苦短,我用python 语言的种类: 语言的发展: 什么是python 搭建 Python开发环境: 集成开发环 ...
- Datacamp 学习第一周
Datacamp 学习第一周总结 Intro to Python for Data Science 列表 numpy package 字典 pandas comparision operators l ...
- 我的JAVA学习第一周知识总结,个人感受小结
JAVA学习第一周 1,了解三种开发模型 2,建包.建类的规范格式 3,了解不同数据类型 4,JAVA环境搭建 5,JVM.JRE.JDK是什么 6,if/else if语句的使用 7,各个语句swi ...
- 前端学习第一周-计算机基础,html标签的介绍,其中包括列表,表格以及表单的使用
前端学习第一周-HTML基础 文章目录 前端学习第一周-HTML基础 前言 DAY 1 计算机组成 计算机网络 DAY 2 vscode快捷方式 HTML骨架 DAY 3 HTML属性 HTML标签 ...
- python学习第一周总结
python学习第一周总结 一.Markdown语法 Markdown是一种轻量级标记语言,排版语法简洁,它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML.PDF 以及本身的 . ...
- Java学习第一周总结
201711671227<Java程序设计>第一周学习总结 教材学习内容总结 主要学习了如何下载及安装Java,如何调试环境变量,系统变量等,其次更为重要的是掌握了使用Java来编译运行程 ...
- PaddlePaddle课程学习第一周笔记
人工智能.机器学习.深度学习的关系 机器学习的过程分为假设.评价和优化三个阶段: 假设:通过观察加速度a和作用力F的观测数据,假设aaa和FFF是 线性关系,即a=w∗Fa = w * Fa=w∗F. ...
最新文章
- ssh_exchange_identification: Connection closed by remote host 解决方法
- python 代码-20个Python代码段,你需要立刻学会,好用到哭!
- mysql 常用优化方案_项目中常用的 19 条 MySQL 优化方案
- 函数_方法_的四种调用方式
- 关于计算机的英语作文八百字,小学英语作文800字(精选10篇)
- Android 分析工具 APKAnalyser
- 讲解开源项目:用 Python 生成有“灵魂”的二维码
- 1. paip.discuz X2.5 积分(金钱)功能API总结
- Git工程区域与文件状态
- MySQL 常用函数 日期和时间函数
- servlet使用jsp内置对象
- 倒计时1天,IMG、完美、腾讯技术大咖相聚直播间详解光线追踪技术
- java微信学生考勤小程序前台vue和后台(考勤,请假,校园新闻,导出,地图等)(需要使用的软件)打包源码及安装视频+功能文档
- python——【1】gzip压缩文件
- Modbus通讯协议学习文档
- DNS服务未响应的简单解决办法
- Python中使用正则表达式以及正则表达式匹配规则
- 打工人的Linux(存储管理)
- Allegro 批量采集( 采集 产品)、批量offer刊登( 刊登 产品)、铺货上架利器-ERP
- ERP-非财务人员的财务培训教(四)------公司/部门的成本与费用控制收藏