stm32F407 连接 对射式红外对管 样例
本次样例,是利用 Led 灯来作为红外对管的显示,串口打印作为协助
stm32F407开发板上有两个led灯,DS0和DS1
所以需要编写的代码涉及:led.h、led.c、hong.c、hong.h、main.c (串口代码已集成)
直接上代码:
led.h
#ifndef __LED_H
#define __LED_H
void LED_Init();
#endif
hong.h
#ifndef __HONG_H
#define __HONG_H
void Hong_Init();
#endif
led.c
#include "stm32f4xx.h"
#include "led.h"
void LED_Init()
{GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOF,&GPIO_InitStructure);GPIO_SetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10);
}
hong.c
#include "hong.h"
#include "stm32f4xx.h"
void Hong_Init()
{GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOE,&GPIO_InitStructure);
}
main.c
#include "stm32f4xx.h"
#include "led.h"
#include "usart.h"
#include "delay.h"
#include "hong.h"
int main()
{uint8_t data ;//存放IO读到的电平delay_init(168);uart_init(115200);LED_Init();Hong_Init(); //红外对管的OUT引脚接口初始化GPIO_SetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);//两个led灯初始化为亮while(1){data = GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_0); //读取低电平if(0 < data) //红外对管无遮挡时高电平,有遮挡时为低电平{GPIO_ResetBits(GPIOF,GPIO_Pin_9);GPIO_SetBits(GPIOF,GPIO_Pin_10);delay_ms(1000);printf("data = 1 \n"); //利用串口协助打印,观看程序执行效果}else{GPIO_ResetBits(GPIOF,GPIO_Pin_10);GPIO_SetBits(GPIOF,GPIO_Pin_9);delay_ms(1000);printf("data = 0. \n");}}
}
stm32F407 连接 对射式红外对管 样例相关推荐
- STM32学习笔记(三)丨中断系统丨EXTI外部中断(对射式红外传感器计次、旋转编码器计次)
本篇文章包含的内容 一.中断系统 1.1 中断的定义 1.2 中断优先级 1.3 中断的嵌套 1.4 STM32中的中断系统 1.4.1 STM32的中断资源 1.4.2 嵌套中断向量控制器 NVIC ...
- 通过对射式红外传感器计次实验讲解EXTI中断
目录 前言 一.接线图 二.EXTI中断 1.什么是中断 2.什么是EXTI 3.什么是NVIC 4.NVIC基本结构: 三,配置中断 1.配置中断的流程 2.根据例程详细介绍1.CountSenso ...
- 7、江科大stm32视频学习笔记——中断的应用:对射式红外传感器计次旋转编码器计次
目录 1.标志位函数 2. 初始化的中断的步骤 3.对射式红外传感器计次 (1)接线图 (2)CountSensor.c (3)main.c 4.旋转编码器计次 (1)接线图(旋转编码器接在PB1.P ...
- 5.2 对射式红外传感器旋转编码器计次
对射式红外传感器 1.1 接线图 VCC GND分别接电源的正负极 DO数字输出端,随意选择一个GPIO口 1.2 硬件原理 当挡光片或者编码盘在对射式红外传感器中间经过时,DO就会输出电平变化信号, ...
- 对射式红外传感器模块、测速传感器模块、计数器模块、电机测试模块、槽型光耦模块
文章目录 一.产品简介 二.原理分析 三.程序设计 四.程序源码 一.产品简介 该产品采用FTR9606高灵敏度槽型光耦器件,槽宽5mm.它由一个红外发光二极管和NPN光电三极管组成,M3固定安装孔, ...
- STM32单片机(五)第二节:EXTI外部中断练习1(对射式红外传感器计次)
❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分:建议先学习51单片机,其是STM32等高级单片机的基础:这样再学习STM32时才能融会贯通. ☀️ 专栏适 ...
- 对射式红外传感器计次
通过中断实现,假设将GPIOA_Pin_14作为接受传感器信号的输入口.先初始化GPIOA口,然后配置AFIO复用IO口.然后配置中断,中断线必须选14中断线,对应IO口.然后配置NVIC,NVIC是 ...
- Django 流式响应中文csv样例
在Django里,流式响应StreamingHttpResponse是个好东西,可以快速.节省内存地产生一个大型文件. 目前项目里用于流式响应的一个是Eventsource,用于改善跨系统通讯时用户产 ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
最新文章
- 卷积神经网络中十大拍案叫绝的操作!
- TCP/IP详解--第七章
- oracle可视化工具_零代码玩转数据可视化
- Quartz-任务调度信息持久化到DB中
- 又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式
- JS 中 call()、apply()、bind() 的用法
- 灰度重采样(Gray Resampling
- 淘宝直播在冲刺最复杂的人工智能技术!
- android 里程,鹰眼Android SDK | 百度地图API SDK
- linux lockf文件锁存在,进程停止,Linux文件锁学习-flock, lockf, fcntl
- html十css十javascript,html代码,css代码,JavaScript代码, | 重蔚自留地
- Linux MySQL 源码编译安装
- 知名互联网公司系统架构图[第3期]
- HTTP Cookies
- 关于参数的写法规则,参数引用几种写法
- 【语音增强】基于matlab GUI维纳滤波语音增强【含Matlab源码 298期】
- CryptoJS与C#AES加解密互转
- 九宫格日记-2011年03月03日
- Excel遇到错误div/0显示为0或者不显示
- AI解梦成为现实 未来还有无限可能道翰天琼认知智能机器人平台API接口大脑为您揭秘
热门文章
- 利用MSCNN实现人群密度监测
- 网络自动化运维(NetDevOps)创作者推荐
- PTA 7-85 根据输入的空气污染指数,输出相应的信息。
- UI设计这个专业现在如何,未来就业前景都有哪些不错的选择
- hexo butterfly主题 添加全局吸底APlayer
- python数据分析知识体系_数据分析知识体系
- SSD固态硬盘 4K对齐
- 【SSH连接服务器老是断】client_loop: send disconnect: Broken pipe
- nyist120 校园网络 (Tarjan算法 / 强连通分量)
- 开源仿google plus的wordpress主题