提出问题:STM32如何控制风扇转动、蜂鸣器响停、光敏电阻光强读取、以及温湿度传感器控制?这些都是学习单片机较为基本的知识, 本文将对以上问题作出详细解答希望能帮到大家:
本文以STM32F103R6为例
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200608190356796.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ1MTYxNzY2,size_16,color_FFFFFF,t_70)
一、控制风扇转动和蜂鸣器响停
直流电风扇在proteus库中的名称是FAN-DC 蜂鸣器在proteus库中的名称是BUZZER
#include "stm32f10x.h"
#include "led.h"
#include "uart.h"
#include "stdio.h"
#include "lcd.h"
void main_delay(u32 time)
{
int i,j;
for(i = 0; i 温度的小数部分 8bit -->湿度的整数部分 8bit -->湿度的小数部分 8bit -->校验位 为什么要有检验位?因为单总线传输容易丢失数据,校验位的值便是前四位的和,若发送的和接受的校验位的值不等则说明数据丢失。 这个问题在LQ12864.c文件中充分的显示出来
LQ12864.c
u8 DHT11_Read_Data(u8 *temp,u8 *humi) //u8是无符号的char----unsigned char
{
u8 buf[5];
u8 i;
DHT11_Rst();
if(DHT11_Check()==0)
{
for(i=0;i |