基于Apollo2 SDK上OLED屏幕的实现
显示效果如下图:

(图10)文字显示效果
9.OLED屏幕图片显示
照片显示和文字显示原理相同,也是点亮相对应的像素点。

该函数当中,x0 ,y0表示的是图片所显示的的起始坐标,x1 表示的是图片像素的x轴所占的像素,y1表示的是页数(0-7)
将想要显示的图片,转换成BMP格式之后,通过PCtolCD2002的图片模式进行转换。设置如下:选择阴码,逆向,十六进制输出。

(图11)图片取模选项设置

(图12)图片取模界面
将所生成的十六进制数据进行,修改对齐后,装到BMP数组当中。在主函数当中就可以直接显示了,效果如下图。

(图13)图片显示效果
后记
在调试当中遇到的一些需要注意的点:
1、在freeRTOS下,使用OLED屏幕的话,需要预先启用SPI相对于的IOM 口。
需要用到函数:
am_hal_pwrctrl_periph_enable(uint32_t ui32Peripheral)进行相应的配置。同理在进行低功耗处理的时候,可以关闭SPI接口。
am_hal_pwrctrl_periph_enable(uint32_t ui32Peripheral)
{
am_hal_debug_assert_msg(ONE_BIT(ui32Peripheral),
"Cannot enable more than one peripheral at a time.");
//
// Begin critical section.
//
AM_CRITICAL_BEGIN_ASM
//
// Enable power control for the given device.
//
AM_REG(PWRCTRL, DEVICEEN) |= ui32Peripheral;
//
// End Critical Section.
//
AM_CRITICAL_END_ASM
//
// Wait for the power to stablize. Using a simple delay loop is more
// power efficient than a polling loop.
//
am_hal_flash_delay(AM_HAL_PWRCTRL_DEVICEEN_DELAYCYCLES / 3);
//
// Quick check to guarantee we're good (should never be more than 1 read).
//
POLL_PWRSTATUS(ui32Peripheral);
}
2、OLED屏幕在进行Clear的时候,屏幕不干净

(图14)屏幕刷新有残留
原因是:写到寄存器第一列和第二列的数据被驱动芯片当做乱码并在 显示屏的最后一列显示出来。修改如下:
把程序中“所有 X”轴的值改成 132,如下图定义的是 X 轴与 Y 轴。

同时,clear函数里面,循环发送数据的次数,也应该从n<128 改为 n<132。

3、图片显示函数
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1,
unsigned char y1,unsigned char BMP[])
{
unsigned int j=0;
unsigned char x,y;
if(y1%8==0) y=y1/8;
else y=y1/8+1;
for(y=y0;y<y1;y++)
{
OLED_Set_Pos(x0,y);
for(x=x0;x<x1;x++)
{
OLED_WR_Byte(BMP[j++],OLED_DATA);
}
}
}
在使用该函数的时候,首先要注意的是,y1表示的是页数(0-7)也就是前文指的page,而不是你所给照片取模的Y轴的像素。其次在照片取模当中,尽量控制为128*64的大小。如果图片大小无法满足,则在使用OLED_DrawBMP()的时候,x与x1的数据差应该就是你图片的像素大小。
例如:
我的照片大小为 (92 X 60 ),如果选择屏幕显示的起始坐标点为(0,0)
则函数为:OLED_DrawBMP(0,0,92,7,BMP);
但是当你想移动图片的位置,修改为
OLED_DrawBMP(18,0,92,7,BMP);显示的结果会出现乱码。正确的方式是改为OLED_DrawBMP(18,0,110,7,BMP);
文章来源:润欣科技Fortune微信公众号
图片新闻
最新活动更多
-
4月16日预约观看>> 开发前服,优化项目投资价值 筑牢落地关键防线
-
4月22日立即报名>> 【在线会议】ADI六款仪器仪表方案助力产品快速上市
-
5月13日立即预约>>> 【线下会议】恩智浦创新技术峰会·深圳
-
5月14日立即下载>> 【白皮书】村田室内外定位解决方案
-
即日-5.20立即下载>> 【限时免费】物理场仿真助力生物医学领域技术创新
-
5月29日立即下载>> 【白皮书】工业视觉AI实战白皮书合集


分享














发表评论
登录
手机
验证码
手机/邮箱/用户名
密码
立即登录即可访问所有OFweek服务
还不是会员?免费注册
忘记密码其他方式
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论