找回密码
 立即注册
楼主: zhange

Ai32驱动12864显示网络天气学习记录

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:243
  • 最近打卡:2025-05-11 07:59:01

61

主题

820

回帖

1544

积分

金牌会员

积分
1544
发表于 2024-5-25 08:25:19 | 显示全部楼层
10.添加字库


字库文件在font.h  备注很清晰自己看

取模看文字教程很详细

取好了根据人家原来的样式添加到字符串数组后边

截图202405250824093796.jpg

我自己添加的如下  只用添加汉字就可以了 其他的作者添加好了 数字英文啥的

截图202405250824401695.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:243
  • 最近打卡:2025-05-11 07:59:01

61

主题

820

回帖

1544

积分

金牌会员

积分
1544
发表于 2024-5-25 08:25:48 | 显示全部楼层
吃饭  完了再来
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:243
  • 最近打卡:2025-05-11 07:59:01

61

主题

820

回帖

1544

积分

金牌会员

积分
1544
发表于 2024-5-25 08:56:36 | 显示全部楼层
11.下面来获取网络天气


这里用到了8266  esp01s

看实验版  找找串口   

截图202405250852331572.jpg


再找 3.3v  电压  看看有没有  当然有了 屏幕接的就是3.3v  板子上有标注

先不和屏幕联动

连接测试下


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:530
  • 最近打卡:2025-05-11 08:01:25

109

主题

1936

回帖

5372

积分

论坛元老

积分
5372
发表于 2024-5-25 09:27:38 | 显示全部楼层
0.96的屏有点小
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:512
  • 最近打卡:2025-05-11 08:01:35
已绑定手机

1

主题

836

回帖

1537

积分

金牌会员

积分
1537
发表于 2024-5-25 10:07:43 | 显示全部楼层
感谢分享,最近正在研究OLED屏幕
靡不有初,鲜克有终
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:528
  • 最近打卡:2025-05-11 11:36:25
已绑定手机

48

主题

1759

回帖

2766

积分

金牌会员

积分
2766
发表于 2024-5-25 11:06:58 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:64
  • 最近打卡:2025-05-11 08:31:52

719

主题

1万

回帖

1万

积分

管理员

积分
15683
发表于 2024-5-25 13:03:30 | 显示全部楼层

截图202405251303598054.jpg

没用实验箱这边的 I2C/SPI 接口
截图202405251303241191.jpg

截图202405251303012009.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:243
  • 最近打卡:2025-05-11 07:59:01

61

主题

820

回帖

1544

积分

金牌会员

积分
1544
发表于 2024-5-26 05:32:33 | 显示全部楼层
11.下边换为我的降龙棍子   


还是不习惯用 试验箱{:5_278:}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:243
  • 最近打卡:2025-05-11 07:59:01

61

主题

820

回帖

1544

积分

金牌会员

积分
1544
发表于 2024-5-26 05:38:23 | 显示全部楼层
12.接线


打开串口3和4   3连接8266获取网络天气  4把获取的信息发给电脑  先不接显示屏   

写程序

先来串口四   这里没模块化  全在dome里 先把功能实现吧

  1. //chuan kou  4
  2. bit busy4;
  3. char wptr4;
  4. char rptr4;
  5. char buffer4[16] = {"5555555555\r\n"};
  6. void Uart4Isr() interrupt 18
  7. {
  8.         if (S4TI)
  9.         {
  10.                 S4TI = 0;
  11.                 busy4 = 0;
  12.         }
  13.         if (S4RI)
  14.         {
  15.                 S4RI = 0;
  16.                 buffer4[wptr4++] = S4BUF;
  17.                 if(wptr4 > 14)
  18.                 {
  19.                         wptr4 = 14;
  20.                 }
  21.         }
  22. }
  23. void Uart4_Init(void)        //115200bps@11.0592MHz
  24. {
  25.         S4CON = 0x10;                //8位数据,可变波特率
  26.         S4CON |= 0x40;                //串口4选择定时器4为波特率发生器
  27.         T4T3M |= 0x20;                //定时器时钟1T模式
  28.         T4L = 0xE8;                        //设置定时初始值
  29.         T4H = 0xFF;                        //设置定时初始值
  30.         T4T3M |= 0x80;                //定时器4开始计时
  31. }
  32. void Uart4Send(char dat)
  33. {
  34. while (busy4);
  35. busy4 = 1;
  36. S4BUF = dat;
  37. }
  38. void Uart4SendStr(char *p)
  39.         {
  40. while (*p)
  41. {
  42. Uart4Send(*p++);
  43. }
  44. }
复制代码



串口3


  1. bit busy;
  2. bit jieshou;
  3. char fa;
  4. unsigned int wptr;
  5. char rptr;
  6. char xdata buffer[750] = {"hello wentao!\r\n"};
  7. void Uart3Isr() interrupt 17
  8. {
  9.         if (S3TI)
  10.         {
  11.                 S3TI = 0;
  12.                 busy = 0;
  13.         }
  14.         if (S3RI)
  15.         {
  16.                 S3RI = 0;
  17.                 buffer[wptr++] = S3BUF;
  18.                 if(wptr > 748)
  19.                 {
  20.                         wptr = 748;
  21.                 }
  22.         }
  23. }
  24. void Uart3_Init(void)        //115200bps@11.0592MHz
  25. {
  26.         S3CON = 0x10;                //8位数据,可变波特率
  27.         S3CON &= 0xBF;                //串口3选择定时器2为波特率发生器
  28.         AUXR |= 0x04;                //定时器时钟1T模式
  29.         T2L = 0xE8;                        //设置定时初始值
  30.         T2H = 0xFF;                        //设置定时初始值
  31.         AUXR |= 0x10;                //定时器2开始计时
  32. }
  33. void Uart3Send(char dat)
  34. {
  35.         while (busy);
  36.         busy = 1;
  37.         S3BUF = dat;
  38. }
  39. void Uart3SendStr(char *p)
  40. {
  41.         while (*p)
  42.                 {
  43.                         Uart3Send(*p++);
  44.                 }
  45. }
复制代码



加上2个延时函数

  1. void Delay30us(void)        //@11.0592MHz
  2. {
  3.         unsigned long edata i;
  4.         _nop_();
  5.         _nop_();
  6.         _nop_();
  7.         i = 81UL;
  8.         while (i) i--;
  9. }
  10. void Delay1000ms(void)        //@11.0592MHz
  11. {
  12.         unsigned long edata i;
  13.         _nop_();
  14.         _nop_();
  15.         i = 2764798UL;
  16.         while (i) i--;
  17. }
复制代码


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:243
  • 最近打卡:2025-05-11 07:59:01

61

主题

820

回帖

1544

积分

金牌会员

积分
1544
发表于 2024-5-26 05:41:06 | 显示全部楼层
13.给8266发指令函数


以前写过8266  esp01s连接帖子  可以看我记录

  1. void huoqutianqi(void)
  2. {
  3.         //k780成功               
  4.                 Uart3SendStr("AT+RST\r\n");
  5.                 Delay1000ms();
  6.                 wptr=0;
  7.                 Uart4SendStr(buffer);
  8.                 memset(buffer,'\0', sizeof(buffer));
  9.                 Uart4SendStr("01rst\r\n");
  10.                
  11.                 Delay1000ms();
  12.                 Delay1000ms();
  13.                 Delay1000ms();
  14.                 Delay1000ms();
  15.                 Delay1000ms();
  16.                 Delay1000ms();
  17.                 Delay1000ms();
  18.                 Delay1000ms();
  19.                 Delay1000ms();
  20.                 Delay1000ms();
  21.                
  22.                 Uart3SendStr("AT+CIPSTART="TCP","api.seniverse.com",80\r\n");
  23.                 Delay1000ms();
  24.                 wptr=0;
  25.                 Uart4SendStr(buffer);
  26.                 memset(buffer,'\0', sizeof(buffer));
  27.                 Uart4SendStr("02lianjie\r\n");
  28.                
  29.   
  30.                 Delay1000ms();
  31.                
  32.                 Uart3SendStr("AT+CWMODE=1\r\n");       
  33.                 Delay1000ms();
  34.                 wptr=0;
  35.                 Uart4SendStr(buffer);       
  36.                 memset(buffer,'\0', sizeof(buffer));
  37.                 Uart4SendStr("03lianjie-fuwuqi\r\n");
  38.                
  39.                
  40.     Delay1000ms();
  41.                
  42.                
  43.                 Uart3SendStr("AT+CIPMODE=1\r\n");            //开启透传模式
  44.                 Delay1000ms();
  45.                 wptr=0;
  46.                 Uart4SendStr(buffer);       
  47.                 memset(buffer,'\0', sizeof(buffer));
  48.                 Uart4SendStr("04kaiqi-touchuan\r\n");
  49.           Delay1000ms();
  50.                
  51.                 Uart3SendStr("AT+CIPSEND\r\n");   
  52.                 Delay1000ms();
  53.                 wptr=0;
  54.                 Uart4SendStr(buffer);
  55.                 memset(buffer,'\0', sizeof(buffer));               
  56.                 Uart4SendStr("05-kaishi\r\n");
  57.                                
  58.                 Uart3SendStr("GET http://api.seniverse.com/v3/weather/daily.json?key=换成自己的&location=puyang&language=en&unit=c&start=0&days=2\r\n");
  59.                 Delay1000ms();
  60.                 Uart4SendStr(buffer);
  61.                
  62.                
  63.                
  64.                
  65.                 Uart4SendStr("06-wangzhi\r\n");
  66.                 Delay1000ms();
  67.                 Delay1000ms();
  68.                 Delay1000ms();
  69.                
  70. }
复制代码


回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-11 19:41 , Processed in 0.161647 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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