930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 13788|回复: 6

通过简易修改提高OLED的刷屏速度

[复制链接]

1

主题

2

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2016-10-30 19:09:53 | 显示全部楼层 |阅读模式
将OLED的那个历程中的函数void OLED_WrByte(uint8_t dat,uint8_t mode)修改成以下内容
void OLED_WrByte(uint8_t dat,uint8_t mode)
{
    ACC=dat;
    if(mode == OLED_WR_CMD)
    {
        LCD_DC = 0;
    }
    else
    {
        LCD_DC = 1;
    }
     ACC=dat;

    LCD_SCL = 0;
    LCD_SDA=ACC7;
    LCD_SCL = 1;

    LCD_SCL = 0;
    LCD_SDA=ACC6;
    LCD_SCL = 1;

    LCD_SCL = 0;
    LCD_SDA=ACC5;
    LCD_SCL = 1;

    LCD_SCL = 0;
    LCD_SDA=ACC4;
    LCD_SCL = 1;

    LCD_SCL = 0;
    LCD_SDA=ACC3;
    LCD_SCL = 1;

    LCD_SCL = 0;
    LCD_SDA=ACC2;
    LCD_SCL = 1;

    LCD_SCL = 0;
    LCD_SDA=ACC1;
    LCD_SCL = 1;

    LCD_SCL = 0;
    LCD_SDA=ACC0;
    LCD_SCL = 1;                  
}


这是原来的值需要的时间=113x256+97=29025

修改函数后所用的时间=62x256+92=15964
效果明显有木有,只需原来时间的55%左右就能刷一次屏了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

3

主题

11

帖子

39

积分

新手上路

Rank: 1

积分
39
发表于 2016-10-31 08:51:42 | 显示全部楼层
下载了,试试效果。
回复 支持 反对

使用道具 举报

3

主题

11

帖子

39

积分

新手上路

Rank: 1

积分
39
发表于 2016-10-31 08:53:50 | 显示全部楼层
这是什么原理?
回复 支持 反对

使用道具 举报

2

主题

5

帖子

92

积分

注册会员

Rank: 2

积分
92
发表于 2016-11-2 16:54:34 来自手机 | 显示全部楼层
直接用硬件spi速度就快很多
回复 支持 反对

使用道具 举报

1

主题

2

帖子

27

积分

新手上路

Rank: 1

积分
27
 楼主| 发表于 2016-11-3 20:49:59 | 显示全部楼层

牺牲空间换取时间,那些for if这些都需要占用时间,但编译出来占用空间小些
回复 支持 反对

使用道具 举报

3

主题

11

帖子

39

积分

新手上路

Rank: 1

积分
39
发表于 2016-11-3 22:05:16 | 显示全部楼层
明白了,谢谢。
回复 支持 反对

使用道具 举报

3

主题

9

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 2016-11-7 09:11:03 | 显示全部楼层
也是一个办法。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

Copyright © 合肥艾克姆电子科技有限公司
快速回复 返回顶部 返回列表