找回密码
 立即注册
楼主: 大明狐

《一起玩OLED屏幕》高清版-Part2-在屏幕上画画

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:403
  • 最近打卡:2025-04-29 08:28:43

12

主题

319

回帖

2017

积分

金牌会员

积分
2017
发表于 2024-4-16 10:19:13 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:460
  • 最近打卡:2025-04-30 07:45:21

21

主题

168

回帖

1465

积分

金牌会员

积分
1465
发表于 2024-4-16 11:19:43 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-4-16 15:16:28 | 显示全部楼层
代码能否分享出来?

点评

这个帖子里的内容就是坛友根据这个系列自己写出来的,有源码 OLED12824-I2C/SPI协议-0.96寸/1.3寸-画点线面-带ASCII字库  详情 回复 发表于 2024-4-16 15:57
代都敲在屏幕上了,这是个学习笔记,分享的是思路,从Part1一路跟下来,也能写出自己的代码  详情 回复 发表于 2024-4-16 15:54
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:392
  • 最近打卡:2025-05-01 15:00:39

24

主题

305

回帖

2556

积分

荣誉版主

积分
2556
发表于 2024-4-16 15:54:19 | 显示全部楼层
21cns*** 发表于 2024-4-16 15:16
代码能否分享出来?

代都敲在屏幕上了,这是个学习笔记,分享的是思路,从Part1一路跟下来,也能写出自己的代码
能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:392
  • 最近打卡:2025-05-01 15:00:39

24

主题

305

回帖

2556

积分

荣誉版主

积分
2556
发表于 2024-4-16 15:57:22 | 显示全部楼层
21cns*** 发表于 2024-4-16 15:16
代码能否分享出来?

这个帖子里的内容就是坛友根据这个系列自己写出来的,有源码{:5_296:}

OLED12824-I2C/SPI协议-0.96寸/1.3寸-画点线面-带ASCII字库

点评

多谢多谢  发表于 2024-4-16 17:45
能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:286
  • 最近打卡:2025-05-01 02:56:56
已绑定手机

8

主题

105

回帖

640

积分

高级会员

积分
640
发表于 2024-7-19 09:20:58 | 显示全部楼层
{:5_332:}{:5_332:}{:5_332:}简洁明了,通俗易懂。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:347
  • 最近打卡:2025-05-01 10:36:23

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-29 20:40:34 | 显示全部楼层

楼主你好!
最近尝试着把你的代码移植到0.91上,但是,画线不成功。
这条语句可以运行OLED_DrawLine(0,0,127,31,1);OLED_Refresh();Delay_ms(1000);

这条就不行了OLED_DrawLine(127,31,0,0,1);OLED_Refresh();Delay_ms(1000);
就这样了

不会弄了!请指教!谢谢!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:347
  • 最近打卡:2025-05-01 10:36:23

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-29 20:41:49 | 显示全部楼层
楼主你好!
最近尝试着把你的代码移植到0.91上,但是,画线不成功。
这条语句可以运行OLED_DrawLine(0,0,127,31,1);OLED_Refresh();Delay_ms(1000);

这条就不行了OLED_DrawLine(127,31,0,0,1);OLED_Refresh();Delay_ms(1000);
就这样了

不会弄了!请指教!谢谢!
截图202407292041194250.jpg

点评

划线不成功是指什么?像照片里的那种虚线吗?两边角落里的点也是画线函数画出来的吗? 只有函数名和照片没法判断,最好把代码贴出来,才好找原因。  详情 回复 发表于 2024-7-30 09:11
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:392
  • 最近打卡:2025-05-01 15:00:39

24

主题

305

回帖

2556

积分

荣誉版主

积分
2556
发表于 2024-7-30 09:11:05 | 显示全部楼层
men*** 发表于 2024-7-29 20:41
楼主你好!
最近尝试着把你的代码移植到0.91上,但是,画线不成功。
这条语句可以运行OLED_DrawLine(0,0,12 ...

划线不成功是指什么?像照片里的那种虚线吗?两边角落里的点也是画线函数画出来的吗?
只有函数名和照片没法判断,最好把代码贴出来,才好找原因。
能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:347
  • 最近打卡:2025-05-01 10:36:23

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-30 09:58:46 | 显示全部楼层
本帖最后由 men007 于 2024-7-30 10:11 编辑
大*** 发表于 2024-7-30 09:11
划线不成功是指什么?像照片里的那种虚线吗?两边角落里的点也是画线函数画出来的吗?
只有函数名和照片 ...

画线函数完全抄你的。

void OLED_DrawLine(u8 x0,u8 y0,u8 x1,u8 y1,bit draw)
{
        u8 = abs(x1-x0);
        u8 = abs(y1-y0);
        u8 dm,i;
        
        float dx,dy;
        float x,y;
        
        dx =(float)(x1-x0)/dm;
        dy =(float)(y1-y0)/dm;
        
        x=(float)x0+0.5;
        y=(float)y0+0.5;
                        
        for(i=0;i<=dm;i++)
        {
                if(draw)
                {
                         OLED_DrawPoint(x,y);                     
                }
                else
                        OLED_ClearPoint(x,y);
               
                x+= dx;
                y+= dy;
        }
}

点评

视频里的代码是这样的 ↓↓↓↓↓↓↓↓↓↓ [attachimg]52617[/attachimg] 这段画线函数的代码没有抄对,少了几个东西,应该是编译都通不过才对  详情 回复 发表于 2024-7-30 11:11
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 19:54 , Processed in 0.171962 second(s), 118 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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