一.对射式红外传感器计次
1.原理
2.硬件连接
3.程序
CountSensor.c:
#include "stm32f10x.h" // Device header
#include "Delay.h"
uint16_t CountSensor_Count;
void CountSensor_Init(void)
{
//配置RCC时钟:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
//EXTI和NVIC时钟一直是打开的
//配置GPIO,端口为输入模式:
GPIO_InitTypeDef GPIO_InitStruture;
GPIO_InitStruture.GPIO_Mode = GPIO_Mode_IPU;//上拉输入,可参考手册建议选择
GPIO_InitStruture.GPIO_Pin = GPIO_Pin_14;
GPIO_InitStruture.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStruture);
//配置AFIO,选择用上一步的GPIO,连接到后面的EXTI:
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource14);//配置AFIO的数据选择器
//将PB14号引脚的电平信号通过AFIO进入到EXTI
//配置EXTI(选择边沿触发方式,选择触发响应方式):
EXTI_InitTypeDef EXTI_InitStructure;
EXTI_InitStructure.EXTI_Line = EXTI_Line14;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_InitStr