OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3516|回复: 4

OLED代码疑问

[复制链接]

90

主题

534

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1059
金钱
1059
注册时间
2017-4-12
在线时间
280 小时
发表于 2019-3-20 16:29:57 | 显示全部楼层 |阅读模式
1金钱
void OLED_ShowString(u8 x,u8 y,const u8 *p,u8 size)
{       
    while((*p<='~')&&(*p>=' '))//判断是不是非法字符!
    {      
        if(x>(128-(size/2))){x=0;y+=size;}
        if(y>(64-size)){y=x=0;OLED_Clear();}
        OLED_ShowChar(x,y,*p,size,1);         
        x+=size/2;
        p++;
    }  
       
}   

        if(x>(128-(size/2))){x=0;y+=size;}
        if(y>(64-size)){y=x=0;OLED_Clear();}       

这二句怎么来理解,代码看得懂,不懂意思

最佳答案

查看完整内容[请看2#楼]

如果显示的Y坐标加字符大小大于64(就是超过液晶y轴的大小),就设置x,y的坐标为0
穷不可怕,可怕的是穷的是我~~~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2019-3-20 16:29:58 | 显示全部楼层
如果显示的Y坐标加字符大小大于64(就是超过液晶y轴的大小),就设置x,y的坐标为0
回复

使用道具 举报

90

主题

534

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1059
金钱
1059
注册时间
2017-4-12
在线时间
280 小时
 楼主| 发表于 2019-3-20 17:49:33 | 显示全部楼层
login_FAE 发表于 2019-3-20 17:31
如果显示的Y坐标加字符大小大于64(就是超过液晶y轴的大小),就设置x,y的坐标为0

不明白,(128-(size/2)/  64-size
穷不可怕,可怕的是穷的是我~~~
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2019-3-20 18:00:05 | 显示全部楼层
烈日灼心 发表于 2019-3-20 17:49
不明白,(128-(size/2)/  64-size

OLED是128*64分辨率的
size/2的意思是size大小的字符x轴占用size一半的像素值
128-size/2就是OLED x轴显示字符之后x还可以设置的像素坐标值
64-size(其中size是占用y轴的像素值),是显示一个size大小字符之后,y可以设置的值
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2019-3-20 18:01:33 | 显示全部楼层
烈日灼心 发表于 2019-3-20 17:49
不明白,(128-(size/2)/  64-size

这里的意思就是(x,y)这个坐标非法时候的处理
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 01:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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