32单片机学习记录3之基本外设的使用
32单片机学习记录3之基本外设的使用
传感器分类
- 通过检测电平信号(红外感应,火焰检测(光谱))
- 通过ADC转换数据(光敏电阻)
- 通过通信获取数据
- 外设自带ADC,会把数据传递过来
如何快速使用传感器
准备资料:
- 硬件
- 官方手册说明书
- 示例代码
如何查看官方手册
- 介绍
- 引脚
- 如何获取信号或者数据
设计程序
- 封装什么函数
红外感应器
使用PC8的IO口接收红外传递过来的电平信号,有障碍物传递低电平,没有传递高电平。
配置
//总线对应的时钟使能打开
RCC->AHB1ENR |= (1<<2);
//清空第16和17位,置0,其他位不动
GPIOC->MODER &= ~(3U<<16);
//清空第16和17位,置0,其他位不动
GPIOC->PUPDR &= ~(3U<<16);
//判断对应位的电平状态
#define RED !((GPIOC->IDR & (1<<8))>>8)
火焰检测器
使用PC9的IO口接收红外传递过来的电平信号,有火传递低电平,没有传递高电平。
配置
//总线对应的时钟使能打开
RCC->AHB1ENR |= (1<<2);
//清空第18和19位,置0,其他位不动
GPIOC->MODER &= ~(3U<<18);
//清空第18和19位,置0,其他位不动
GPIOC->PUPDR &= ~(3U<<18);
//判断对应位的电平状态
#define RED !((GPIOC->IDR & (1<<9))>>9)