英语| 简体中文| 繁体中文| 日本语|德意志| 한국어
SSD1306是一个单芯片CMOS OLED / PELED驱动程序,带有有机 /聚合物发光二极管点矩阵图形显示系统的控制器。它由128个细分市场和64个共同点组成。该IC设计用于常见的阴极型OLED面板。SSD1306具有对比度控制,显示板和振荡器的嵌入,可减少外部组件和功耗的数量。它具有256步亮度控制。数据/命令是从通用MCU通过硬件可选的6800/8000系列兼容并行接口,I2C接口或串行外围接口的。它适用于许多紧凑的便携式应用程序,例如手机子播放,MP3播放器和计算器等。
Libdriver SSD1306是由Libdriver启动的SSD1306的完整功能驱动程序。它提供了绘制单点,填充块,图像显示等的功能。Libdriver符合Misra。
/src包括libdriver SSD1306源文件。
/接口包括Libdriver SSD1306 IIC,SPI平台独立模板。
/测试包括Libdriver SSD1306驱动程序测试代码,此代码可以简单地测试芯片所需的函数。
/示例包括libdriver SSD1306示例代码。
/DOC包括Libdriver SSD1306离线文档。
/数据表包括SSD1306数据表。
/项目包括通用Linux和MCU开发委员会样本代码。所有项目都使用Shell脚本来调试驱动程序,并且可以在每个项目的readme.md中找到详细说明。
/Misra包括Libdriver Misra代码扫描结果。
参考 /接口IIC,SPI平台独立模板,并完成您的平台IIC,SPI驱动程序。
将 /src目录,平台的接口驱动程序以及您自己的驱动程序添加到项目中,如果您想使用默认示例驱动程序,请在项目中添加 /示例目录。
您可以参考 /示例目录中的示例以完成自己的驱动程序。如果您想使用默认的编程示例,则是如何使用它们的方法。
#include "driver_ssd1306_basic.h"
uint8_t res ;
res = ssd1306_basic_init ( SSD1306_INTERFACE_IIC , SSD1306_ADDR_SA0_0 );
if ( res != 0 )
{
return 1 ;
}
...
res = ssd1306_basic_clear ();
if ( res != 0 )
{
ssd1306_interface_debug_print ( "ssd1306: clear screen failed.n" );
( void ) ssd1306_basic_deinit ();
return 1 ;
}
res = ssd1306_basic_string ( 0 , 0 , "123" , 3 , 1 , SSD1306_FONT_16 );
if ( res != 0 )
{
ssd1306_interface_debug_print ( "ssd1306: show string failed.n" );
( void ) ssd1306_basic_deinit ();
return 1 ;
}
...
res = ssd1306_basic_rect ( 0 , 31 , 31 , 31 , 1 );
if ( res != 0 )
{
( void ) ssd1306_basic_deinit ();
return 1 ;
}
...
( void ) ssd1306_basic_deinit ();
return 0 ;图像提取格式如下,每个像素存储在一个字节中。
#include "driver_ssd1306_advance.h"
uint8_t res ;
uint8_t image [ 8192 ];
res = ssd1306_advance_init ( SSD1306_INTERFACE_IIC , SSD1306_ADDR_SA0_0 );
if ( res != 0 )
{
return 1 ;
}
...
res = ssd1306_advance_clear ();
if ( res != 0 )
{
ssd1306_interface_debug_print ( "ssd1306: clear screen failed.n" );
( void ) ssd1306_advance_deinit ();
return 1 ;
}
res = ssd1306_advance_string ( 0 , 0 , "123" , 3 , 1 , SSD1306_FONT_16 );
if ( res != 0 )
{
ssd1306_interface_debug_print ( "ssd1306: show string failed.n" );
( void ) ssd1306_advance_deinit ();
return 1 ;
}
...
res = ssd1306_advance_write_point ( 38 , 38 , 1 );
if ( res != 0 )
{
( void ) ssd1306_advance_deinit ();
return 1 ;
}
...
res = ssd1306_advance_rect ( 0 , 31 , 31 , 31 , 1 );
if ( res != 0 )
{
( void ) ssd1306_advance_deinit ();
return 1 ;
}
...
res = ssd1306_advance_fade_blinking ( SSD1306_FADE_BLINKING_MODE_BLINKING , 0 );
if ( res != 0 )
{
( void ) ssd1306_advance_deinit ();
return 1 ;
}
...
res = ssd1306_advance_vertical_left_horizontal_scroll ( 0 , 7 , 0 , SSD1306_SCROLL_FRAME_2 );
if ( res != 0 )
{
( void ) ssd1306_advance_deinit ();
return 1 ;
}
...
res = ssd1306_advance_picture ( 0 , 0 , 0 , 0 , image );
if ( res != 0 )
{
( void ) ssd1306_advance_deinit ();
return 1 ;
}
...
( void ) ssd1306_advance_deinit ();
return 0 ;在线文档:https://www.libdriver.com/docs/ssd1306/index.html。
离线文档:/doc/html/index.html。
请参考贡献。
版权(c)2015年 - 目前的libdriver保留所有权利
麻省理工学院许可证(MIT)
特此免费授予任何获得副本的人的许可
该软件和相关文档文件(“软件”)
在软件中无限制的软件中,包括无限制的权利
使用,复制,修改,合并,发布,分发,转销和/或出售
软件的副本,并允许软件的人
符合以下条件的规定,可以这样做:
上述版权通知和此许可通知应包含
该软件的副本或大量部分。
该软件是“原样”提供的,没有任何形式的保证,明确或
暗示,包括但不限于适销性保证,
适合特定目的和非侵扰的适合度。在任何情况下都不会
作者或版权持有人应对任何索赔,损害赔偿或其他责任负责
责任,无论是在合同,侵权的诉讼中还是其他责任,是由
与软件或使用或与使用或其他交易有关
软件。
请发送电子邮件至[email protected]。