这是最近做的esp8266模块与oled同时工作的代码
单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "lcd.h"
- #include "key.h"
- #include "usmart.h"
- #include "malloc.h"
- #include "MMC_SD.h"
- #include "ff.h"
- #include "exfuns.h"
- #include "fontupd.h"
- #include "text.h"
- #include "common.h"
- #include "touch.h"
- #include "usart2.h"
- #include "oled.h"
-
-
- int main(void)
- {
- u8 key,fontok=0;
-
-
- u8 t;
- delay_init(); //延时函数初始化
- delay_init(); //延时函数初始化
-
- // delay_ms(8000);
- OLED_Init(); //初始化OLED
- OLED_Clear();
- t=' ';
- OLED_ShowCHinese(0,0,0);//中
- OLED_ShowCHinese(18,0,1);//景
- OLED_ShowCHinese(36,0,2);//园
- OLED_ShowCHinese(54,0,3);//电
- OLED_ShowCHinese(72,0,4);//子
- OLED_ShowCHinese(90,0,5);//科
- OLED_ShowCHinese(108,0,6);//技
- while(1)
- {
- OLED_Clear();
- OLED_ShowCHinese(0,0,0);//中
- OLED_ShowCHinese(18,0,1);//景
- OLED_ShowCHinese(36,0,2);//园
- OLED_ShowCHinese(54,0,3);//电
- OLED_ShowCHinese(72,0,4);//子
- OLED_ShowCHinese(90,0,5);//科
- OLED_ShowCHinese(108,0,6);//技
- // OLED_ShowString(6,3,"0.96' OLED TEST",16);
- //OLED_ShowString(8,2,"ZHONGJINGYUAN");
- // OLED_ShowString(20,4,"2014/05/01");
- // OLED_ShowString(0,6,"ASCII:",16);
- // OLED_ShowString(63,6,"CODE:",16);
- // OLED_ShowChar(48,6,t,16);//显示ASCII字符
- t++;
- if(t>'~')t=' ';
- // OLED_ShowNum(103,6,t,3,16);//显示ASCII字符的码值
- delay_ms(8000);
- delay_ms(8000);
- delay_ms(8000);
- delay_ms(8000);
- delay_ms(8000);
- // OLED_DrawBMP(0,0,128,8,BMP1); //图片显示(图片显示慎用,生成的字表较大,会占用较多空间,FLASH空间8K以下慎用)
- delay_ms(8000);
- delay_ms(8000);
- delay_ms(8000);
- delay_ms(8000);
- // OLED_DrawBMP(0,0,128,8,BMP1);
- delay_ms(8000);
- delay_ms(8000);
- delay_ms(8000);
- delay_ms(8000);
- }
-
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
-
- uart_init(115200); //串口初始化为9600
- USART2_Init(115200); //初始化串口2波特率为115200
- LCD_Init(); //初始化液晶
- LED_Init(); //LED初始化
- KEY_Init(); //按键初始化
-
- tp_dev.init(); //触摸屏初始化
- mem_init(); //初始化内存池
- exfuns_init(); //为fatfs相关变量申请内存
- f_mount(fs[0],"0:",1); //挂载SD卡
- f_mount(fs[1],"1:",1); //挂载FLASH.
- key=KEY_Scan(0);
- if(key==KEY0_PRES) //强制校准
- {
- LCD_Clear(WHITE); //清屏
- tp_dev.adjust(); //屏幕校准
- LCD_Clear(WHITE); //清屏
- }
- fontok=font_init(); //检查字库是否OK
- if(fontok||key==KEY1_PRES)//需要更新字库(字库不存在/KEY1按下)
- {
- LCD_Clear(WHITE); //清屏
- POINT_COLOR=RED; //设置字体为红色
- LCD_ShowString(60,50,200,16,16,"ALIENTEK STM32");
- while(SD_Initialize()) //检测SD卡
- {
- LCD_ShowString(60,70,200,16,16,"SD Card Failed!");
- delay_ms(200);
- LCD_Fill(60,70,200+60,70+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(60,70,200,16,16,"SD Card OK");
- LCD_ShowString(60,90,200,16,16,"Font Updating...");
- key=update_font(20,110,16);//更新字库
- while(key)//更新失败
- {
- LCD_ShowString(60,110,200,16,16,"Font Update Failed!");
- delay_ms(200);
- LCD_Fill(20,110,200+20,110+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(60,110,200,16,16,"Font Update Success!");
- delay_ms(1500);
- LCD_Clear(WHITE);//清屏
- }
- atk_8266_test(); //进入ATK_ESP8266测试
-
- }
复制代码
所有资料51hei提供下载:
1.0.rar
(977.46 KB, 下载次数: 33)
|