0.96寸OLED显示屏画斜线(原创)

小弟我不是这个行业的,但是最近一年对嵌入式非常感兴趣,上学的时候就对数学应用题非常感兴趣,后来对于物理更是痴迷,但是工作后从事的工作却让我感觉到非常的乏味,半导体功率器件行业,每天盯着工艺参数,实际结果和理论计算值相差几个数量级是常有的事,太难熬了。

直到去年的有一天我听说了51单片机后来又接触到了STM32,这种所想即所得的感觉真的是太棒了,也沉浸在嵌入式这种缜密逻辑带来的快感而不能自拔。

接下来正题,昨天网购了一个0.96寸的12864OLED小屏幕,厂家自带例程,所以入手比较简单,但时里面没有斜线的例程,我突发奇想准备自己试一试。一下是我自己写的代码,有不足之处还请大佬优化

//画斜线。
void OLED_Line(u8 x1,u8 y1,u8 x2,u8 y2) //X1Y1是斜线的起始点,X2Y2是斜线的终止点
{
  u8 x,y;  
	for(x=x1;x<=x2;x++)
	{
    y=y1+((((x-x1)*1000)/(x2-x1))*(y2-y1))/1000;//这是在X确定情况下当前斜线的Y点坐标
                                                //(也是小学数学精华所在)。
	OLED_DrawPoint(x,y,1);//这是厂家的画点例程
	}
	OLED_Refresh_Gram();//更新显示
}

其他的代码我就不写进来了,都是厂家例程网上一大堆。
代码主要部分就是用画点代码加上两点之间的直线运算,这部分得益于我小学时扎实的数学基础。哈哈
下面是效果图

			OLED_Line(10,10,50,50);
			OLED_Line(0,64,125,3);
			OLED_Line(20,20,100,20);

在这里插入图片描述

![展示一下斜线的显示](https://img-blog.csdnimg.cn/709974d365f947189bc33acbeb587345.png
也欢迎有共同爱好的嵌入式菜鸡朋友大家一起切磋学习共同进步。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值