一、模块化LED初始化函数
1、建一个Hardware文件夹专门用来存放硬件驱动模块化调用函数,方便后续调用。
1)创建LED.c .h 文件 存放函数定义 和函数声明
1、创建初始化函数
因为初始化后IO口默认低电平,所以初始化最后置1
2、创建点灯函数
3、创建函数声明
点亮LED
二、创建按键模块控制函数
1)在Hardware中创建Key.c .h两个文件,并初始按键端口
2)使用输入库函数来读取IO口的值(按键检测)
GPIO_ReadInputDataBit 用来读取输入寄存器的一位的值
GPIO_ReadInputData 用来读取整个输入寄存器的值
GPIO_ReadOutputDataBit 用来读取输出寄存器的某一位值
GPIO_ReadOutputData 用来读取整个输出寄存器的值
用GPIO_ReadInputDataBit函数读取指定Pin口的电平,并设置键码返回值
Delay_ms(20); 用来消抖动
到此按键检测完成
3)设置主函数接受按键返回值后的功能
1、为了同一按键按下实现电平翻转功能,使用读取LED口的电平函GPIO_ReadOutputDataBit,实现翻转。
最终实现按键控制LED亮灭
三、光敏模块控制蜂鸣器
1)模块化创建蜂鸣器模块两个函数文件,直接复用LED的亮灭程序代码,注意修改端口。
2)模块化创建光敏模块函数文件
因为函数代码内容较为简单 所以直接提供代码
可以完成强光环境下蜂鸣器鸣响,弱光环境下蜂鸣器不鸣响。