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

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

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

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-30 14:16:51 | 显示全部楼层
大*** 发表于 2024-7-30 11:14
你的这段画八条线的代码

不好意思,提交代码时不仔细,实际使用的代码没抄错。我做了小小改动,应该没什么影响。
代码如下
        u8 lx;// = abs(x1-x0);
        u8 ly;// = abs(y1-y0);
        u8 dm,i;
       
        float dx,dy;
        float x,y;
       
        if(x1>=x0)
                lx = x1-x0;
        else
                lx =x0-x1;
       
        if(y1>=y0)
                ly=y1-y0;
        else
                ly=y0-y1;
       
       
        if(lx>=ly)
                dm = lx;
        else
                dm = ly;
       
        dx =(float)(x1-x0)/dm;
        dy =(float)(y1-y0)/dm;
       
        y=(float)y0+0.5;
        x=(float)x0+0.5;
回复 支持 反对

使用道具 举报 送花

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

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-30 14:21:54 | 显示全部楼层
大*** 发表于 2024-7-30 11:14
你的这段画八条线的代码

我又试了试,从右下角往左上角画都不行。可能是硬件的问题
很可能是下面代码的问题
void OLED_DrawPoint(unsigned char x,unsigned char y)
{
        unsigned char n,m;
        if((x<0)||(x>127)||(y<0)||(y>31))return;
                n=y/8;//n=0-7
                m=y%8;//m=0-7
               
                GRAM[n*128+x]|=(0x01<<m);
}
               
回复 支持 反对

使用道具 举报 送花

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

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-30 14:26:02 | 显示全部楼层
大*** 发表于 2024-7-30 11:11
视频里的代码是这样的

↓↓↓↓↓↓↓↓↓↓

你的其他功能我差不多都试通了。就这出了问题。我用的是128X32(0.91)的屏幕

点评

OLED12832和12864用法是一样的,只是稍微改一下硬件配置,驱动都是通用的 这是用你的代码点亮12832的效果,也是没问题的 [attachimg]52626[/attachimg] 你用的哪个型号的单片机?或者把代码打包发个附件,我跑跑  详情 回复 发表于 2024-7-30 15:50
回复 支持 反对

使用道具 举报 送花

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

24

主题

305

回帖

2556

积分

荣誉版主

积分
2556
发表于 2024-7-30 15:50:03 | 显示全部楼层
men*** 发表于 2024-7-30 14:26
你的其他功能我差不多都试通了。就这出了问题。我用的是128X32(0.91)的屏幕 ...

OLED12832和12864用法是一样的,只是稍微改一下硬件配置,驱动都是通用的

这是用你的代码点亮12832的效果,也是没问题的
1722325563616.gif


你用的哪个型号的单片机?或者把代码打包发个附件,我跑跑试试有没有问题
能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复 支持 反对

使用道具 举报 送花

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

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-30 18:30:30 | 显示全部楼层
大*** 发表于 2024-7-30 15:50
OLED12832和12864用法是一样的,只是稍微改一下硬件配置,驱动都是通用的

这是用你的代码点亮12832的效 ...

程序写的有点烂,不好意思给你发。

点评

因为不知道问题具体出在哪个环节,目前只看到画点画线两个函数,测试都没问题,所以才需要扩大扫雷范围。程序可以打个压缩包,然后回帖的高级模式里有个按钮可以发附件。  详情 回复 发表于 2024-7-30 18:38
回复 支持 反对

使用道具 举报 送花

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

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-30 18:35:17 | 显示全部楼层
本帖最后由 men007 于 2024-7-30 18:38 编辑
大*** 发表于 2024-7-30 15:50
OLED12832和12864用法是一样的,只是稍微改一下硬件配置,驱动都是通用的

这是用你的代码点亮12832的效 ...

不知道咋发,直接贴吗

0.91OLED显示屏C51_IIC刷显存例程.rar

165.85 KB, 下载次数: 66

回复 支持 反对

使用道具 举报 送花

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

24

主题

305

回帖

2556

积分

荣誉版主

积分
2556
发表于 2024-7-30 18:38:19 | 显示全部楼层
men*** 发表于 2024-7-30 18:30
程序写的有点烂,不好意思给你发。

因为不知道问题具体出在哪个环节,目前只看到画点画线两个函数,测试都没问题,所以才需要扩大扫雷范围。程序可以打个压缩包,然后回帖的高级模式里有个按钮可以发附件。
能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复 支持 反对

使用道具 举报 送花

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

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-30 18:42:17 | 显示全部楼层
大*** 发表于 2024-7-30 18:38
因为不知道问题具体出在哪个环节,目前只看到画点画线两个函数,测试都没问题,所以才需要扩大扫雷范围。 ...

发了。我用的是stc8h1k28,嘉立创抄的板子

点评

用STC8H8K直接试的你的程序。除了I2C的两个IO其他都没动,显示也没问题 [attachimg]52668[/attachimg]  详情 回复 发表于 2024-7-30 19:46
回复 支持 反对

使用道具 举报 送花

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

24

主题

305

回帖

2556

积分

荣誉版主

积分
2556
发表于 2024-7-30 19:46:23 | 显示全部楼层
men*** 发表于 2024-7-30 18:42
发了。我用的是stc8h1k28,嘉立创抄的板子


用STC8H8K直接试的你的程序。除了I2C的两个IO其他都没动,显示也没问题{:5_286:}
1722339767657.jpg
能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复 支持 反对

使用道具 举报 送花

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

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-7-30 20:34:54 | 显示全部楼层
不懂了!显示屏有问题?
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 20:01 , Processed in 0.255561 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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