找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3007|回复: 0
收起左侧

esp8266与oled显示STM32源码

[复制链接]
ID:302653 发表于 2018-4-6 10:38 | 显示全部楼层 |阅读模式
这是最近做的esp8266模块与oled同时工作的代码

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include "key.h"
  7. #include "usmart.h"
  8. #include "malloc.h"  
  9. #include "MMC_SD.h"
  10. #include "ff.h"  
  11. #include "exfuns.h"
  12. #include "fontupd.h"
  13. #include "text.h"       
  14. #include "common.h"
  15. #include "touch.h"       
  16. #include "usart2.h"       

  17. #include "oled.h"




  18. int main(void)
  19. {
  20.                 u8 key,fontok=0;          
  21.                  
  22.                  
  23.                  u8 t;
  24.                         delay_init();                     //延时函数初始化       
  25.         delay_init();                     //延时函数初始化         
  26.                        
  27.                 //                delay_ms(8000);
  28.                         OLED_Init();                        //初始化OLED  
  29.                         OLED_Clear();

  30.         t=' ';
  31.                 OLED_ShowCHinese(0,0,0);//中
  32.                 OLED_ShowCHinese(18,0,1);//景
  33.                 OLED_ShowCHinese(36,0,2);//园
  34.                 OLED_ShowCHinese(54,0,3);//电
  35.                 OLED_ShowCHinese(72,0,4);//子
  36.                 OLED_ShowCHinese(90,0,5);//科
  37.                 OLED_ShowCHinese(108,0,6);//技
  38.         while(1)
  39.         {               
  40.                 OLED_Clear();
  41.                 OLED_ShowCHinese(0,0,0);//中
  42.                 OLED_ShowCHinese(18,0,1);//景
  43.                 OLED_ShowCHinese(36,0,2);//园
  44.                 OLED_ShowCHinese(54,0,3);//电
  45.                 OLED_ShowCHinese(72,0,4);//子
  46.                 OLED_ShowCHinese(90,0,5);//科
  47.                 OLED_ShowCHinese(108,0,6);//技
  48.         //        OLED_ShowString(6,3,"0.96' OLED TEST",16);
  49.                 //OLED_ShowString(8,2,"ZHONGJINGYUAN");  
  50.          //        OLED_ShowString(20,4,"2014/05/01");  
  51.         //        OLED_ShowString(0,6,"ASCII:",16);  
  52.         //        OLED_ShowString(63,6,"CODE:",16);  
  53.         //        OLED_ShowChar(48,6,t,16);//显示ASCII字符          
  54.                 t++;
  55.                 if(t>'~')t=' ';
  56.         //        OLED_ShowNum(103,6,t,3,16);//显示ASCII字符的码值        
  57.                         delay_ms(8000);
  58.                 delay_ms(8000);

  59.                                         delay_ms(8000);
  60.                 delay_ms(8000);
  61.                 delay_ms(8000);
  62.         //        OLED_DrawBMP(0,0,128,8,BMP1);  //图片显示(图片显示慎用,生成的字表较大,会占用较多空间,FLASH空间8K以下慎用)
  63.                 delay_ms(8000);
  64.                                         delay_ms(8000);
  65.                 delay_ms(8000);
  66.                 delay_ms(8000);
  67.         //        OLED_DrawBMP(0,0,128,8,BMP1);
  68.                 delay_ms(8000);
  69.                                         delay_ms(8000);
  70.                 delay_ms(8000);
  71.                 delay_ms(8000);
  72.         }          

  73.          

  74.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级          
  75.        
  76.         uart_init(115200);                 //串口初始化为9600       
  77.         USART2_Init(115200);  //初始化串口2波特率为115200
  78.         LCD_Init();                                //初始化液晶
  79.         LED_Init();                 //LED初始化         
  80.         KEY_Init();                                //按键初始化                                                                                                                      

  81.         tp_dev.init();                        //触摸屏初始化
  82.         mem_init();                                //初始化内存池            
  83.         exfuns_init();                        //为fatfs相关变量申请内存  
  84.   f_mount(fs[0],"0:",1);         //挂载SD卡  
  85.                   f_mount(fs[1],"1:",1);         //挂载FLASH.
  86.         key=KEY_Scan(0);  
  87.         if(key==KEY0_PRES)                //强制校准
  88.         {
  89.                 LCD_Clear(WHITE);        //清屏
  90.                 tp_dev.adjust();          //屏幕校准  
  91.                 LCD_Clear(WHITE);        //清屏
  92.         }
  93.         fontok=font_init();                //检查字库是否OK
  94.         if(fontok||key==KEY1_PRES)//需要更新字库(字库不存在/KEY1按下)                         
  95.         {
  96.                 LCD_Clear(WHITE);                           //清屏
  97.                 POINT_COLOR=RED;                        //设置字体为红色                                
  98.                 LCD_ShowString(60,50,200,16,16,"ALIENTEK STM32");
  99.                 while(SD_Initialize())                //检测SD卡
  100.                 {
  101.                         LCD_ShowString(60,70,200,16,16,"SD Card Failed!");
  102.                         delay_ms(200);
  103.                         LCD_Fill(60,70,200+60,70+16,WHITE);
  104.                         delay_ms(200);                    
  105.                 }                                                                                                                     
  106.                 LCD_ShowString(60,70,200,16,16,"SD Card OK");
  107.                 LCD_ShowString(60,90,200,16,16,"Font Updating...");
  108.                 key=update_font(20,110,16);//更新字库
  109.                 while(key)//更新失败               
  110.                 {                                           
  111.                         LCD_ShowString(60,110,200,16,16,"Font Update Failed!");
  112.                         delay_ms(200);
  113.                         LCD_Fill(20,110,200+20,110+16,WHITE);
  114.                         delay_ms(200);                       
  115.                 }                   
  116.                 LCD_ShowString(60,110,200,16,16,"Font Update Success!");
  117.                 delay_ms(1500);       
  118.                 LCD_Clear(WHITE);//清屏               
  119.         }  
  120.         atk_8266_test();                //进入ATK_ESP8266测试
  121.        

  122. }
复制代码

所有资料51hei提供下载:
1.0.rar (977.46 KB, 下载次数: 33)


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表