树莓派 oled spi 显示时间

用例程修改的

#include <stdio.h>		//printf()
#include <stdlib.h>		//exit()
#include <unistd.h>
#include "OLED_Driver.h"
#include "OLED_GUI.h"
#include "DEV_Config.h"
//#include "KEY_APP.h"
#include <time.h>

char value[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
int main(void)
{
	time_t now;
    struct tm *timenow;
	//1.System Initialization
	if(DEV_ModuleInit())
		exit(0);
	
	//2.show
	//printf("**********Init OLED**********\r\n");
	OLED_SCAN_DIR OLED_ScanDir = SCAN_DIR_DFT;//SCAN_DIR_DFT = D2U_L2R
	OLED_Init(OLED_ScanDir );	
	
	//printf("OLED Show \r\n");
	//GUI_Show();
	
	while(1){
		time(&now);
		timenow = localtime(&now);
	
		//GUI_Disbitmap(0, 2, Signal816, 16, 8);
		//GUI_Disbitmap(24, 2, Bluetooth88, 8, 8);
		//GUI_Disbitmap(40, 2, Msg816, 16, 8);
		//GUI_Disbitmap(64, 2, GPRS88, 8, 8);
		//GUI_Disbitmap(90, 2, Alarm88, 8, 8);
		//GUI_Disbitmap(112, 2, Bat816, 16, 8);
		
		//GUI_DisString_EN(0, 52, "MUSIC", &Font12, FONT_BACKGROUND, WHITE); 
		//GUI_DisString_EN(52, 52, "MENU", &Font12, FONT_BACKGROUND, WHITE); 
		//GUI_DisString_EN(98, 52, "PHONE", &Font12, FONT_BACKGROUND, WHITE);

		GUI_DisChar(0, 24, value[timenow->tm_hour / 10], &Font24, FONT_BACKGROUND, WHITE);
		GUI_DisChar(16, 24, value[timenow->tm_hour % 10], &Font24, FONT_BACKGROUND, WHITE);
		GUI_DisChar(32, 24, ':', &Font24, FONT_BACKGROUND, WHITE);
		GUI_DisChar(48, 24, value[timenow->tm_min / 10],  &Font24, FONT_BACKGROUND, WHITE);
		GUI_DisChar(64, 24, value[timenow->tm_min % 10],  &Font24, FONT_BACKGROUND, WHITE);
		GUI_DisChar(80, 24, ':',  &Font24, FONT_BACKGROUND, WHITE);
		GUI_DisChar(96, 24, value[timenow->tm_sec / 10],  &Font24, FONT_BACKGROUND, WHITE);
		GUI_DisChar(112, 24, value[timenow->tm_sec % 10],  &Font24, FONT_BACKGROUND, WHITE);
		
		OLED_Display();		
		OLED_Clear(0x00);
		sleep(1);
	}
    //DEV_Delay_ms(1000);
    //printf("KEY \r\n");
    //KEY_Listen();
	
	//3.System Exit
	DEV_ModuleExit();
	return 0;
	
}
发布了161 篇原创文章 · 获赞 63 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/sxhexin/article/details/103788029