STM32F10x 光敏传感器控制 LED 和 OLED 显示图片
#include 'stm32f10x.h' #include 'delay.h' #include 'OLED.h' #include 'GM.h' #include 'LED.h'
// 包含需要用到的头文件
int main(void) { uint8_t GMNum=0,n=0;//初始化KeyNum,赋值为0 // 定义GMNum和n,赋初值为0
OLED_Init();//OLED初始化
LED_Init();
GM_Init();
// 初始化OLED、LED和GM
OLED_BMP(0);//开机显示第1幅图,下标为0
// 在OLED上显示第一幅图片
while(1)
{
GMNum=GM_GetNum();
// 获取光敏传感器的数值
if(GMNum==1)//没光的时候
{
GPIO_ResetBits(GPIOA, GPIO_Pin_0);
Delay_ms(200);
GPIO_SetBits(GPIOA, GPIO_Pin_0);
Delay_ms(100);
GPIO_ResetBits(GPIOA, GPIO_Pin_1);
Delay_ms(200);
GPIO_SetBits(GPIOA, GPIO_Pin_1);
Delay_ms(100);
GPIO_ResetBits(GPIOA, GPIO_Pin_2);
Delay_ms(200);
GPIO_SetBits(GPIOA, GPIO_Pin_2);
Delay_ms(100);
// 控制LED灯亮灭
n++;//图片加1
if(n==4) n=0;//如果按了三次,图片就重新开始了
// n自增,如果n等于4就将n赋值为0,达到循环显示的效果
OLED_BMP(n);//显示下标为n的图片
// 在OLED上显示下标为n的图片
}
}
}
// 控制程序一直运行,通过获取光敏传感器的数值来控制LED灯的亮灭以及在OLED上显示图片。
原文地址: https://www.cveoy.top/t/topic/oAY6 著作权归作者所有。请勿转载和采集!