Directorio artículo
Una descripción breve y el pin
Tener en nuestras manos no usarán OLED, un programa no pueden leer, cómo hacerlo? Comenzó a leer desde el pin. Si conoce el pin es la razón, por supuesto, ser capaz de entender el código de conducción.
En primer vistazo a la Pin Descripción :
GND | VCC | D0 | D1 | RES | corriente continua | CS |
---|---|---|---|---|---|---|
Alimentación tierra | N potencia (3 ~ 5.5V) | pin de reloj SPI | pines de datos SPI | pin de reset | Los datos y comandos de control pasadores | seleccione anclar |
Obviamente, GND y VCC conectados a la fuente de alimentación, no hay electricidad hablando de cualquier cosa. D0 , D1 , para los pasadores de interfaz SPI, o complete el comando de transferencia de datos, para el protocolo SPI no es consciente de, se recomienda para aprender la información relevante del acuerdo, después de todo, es más comúnmente utilizado. CS es un selecto pin de chip, cuando se tira de baja transmisión válida . la DC que, para la selección de datos o un comando de escritura de escritura o una orden de escritura hacia abajo, por ejemplo, cuando los datos de escritura se tira para ajustar el contraste, set de coordenadas x, y, con el comando de escritura; .. cuando el píxel de presentación con los datos de escritura. RES es un pin de reset, activa baja a cero durante algún tiempo durante la inicialización lograr reinicio, para prepararse para el trabajo de seguimiento.
2 código del controlador
2.1 inicialización
2.1.1 Configuración de las clavijas
alfileres ordinarios todos pueden configurarse para salida push-pull.
2,2 inicialización OLED
En primer reinicio,
OLED_RST_Set();
delay_ms(100);
OLED_RST_Clr(); //拉低200ms实现复位
delay_ms(200);
OLED_RST_Set();
El siguiente escritura comienzo para el comando apropiado (esto está dispuesto principalmente SSD1306 (controlador OLED IC) del registro, véase la hoja de datos correspondiente), la eliminación de parte del código:
OLED_WR_Byte(0xAE,OLED_CMD);//--turn off oled panel(关闭oled面板显示)
OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
OLED_WR_Byte(0x40,OLED_CMD);//--set start line address Set Mapping RAM Display Start Line (0x00~0x3F)
OLED_WR_Byte(0x81,OLED_CMD);//--set contrast control register(设置对比度控制控制寄存器)
//写0x81命令后,紧接着写入相应数值(0-255),数值越大亮度越大
OLED_WR_Byte(0xCF,OLED_CMD); // Set SEG Output Current Brightness(0xCF表示亮度大小)
......
Por último, el panel OLED abierta, borrar la pantalla, configurar el origen de coordenadas
OLED_WR_Byte(0xAF,OLED_CMD); /*display ON*/
OLED_Clear();
OLED_Set_Pos(0,0);
Función 2.2 Función
2.2.1 una función de transferencia Byte
void OLED_WR_Byte(u8 dat,u8 cmd)
{
u8 i;
if(cmd) //cmd为1,拉高DC
OLED_DC_Set();
else //cmd为0,拉低DC
OLED_DC_Clr();
OLED_CS_Clr();//拉低片选信号
for(i=0;i<8;i++)//for循环完成一个字节的传输,每个CLK的上升沿,传输一个bit,参考spi传输时序图
{
OLED_SCLK_Clr();
if(dat&0x80)
OLED_SDIN_Set();
else
OLED_SDIN_Clr();
OLED_SCLK_Set();
dat<<=1;
}
OLED_CS_Set(); //拉高片选信号
OLED_DC_Set(); //拉高DC
}
Transmisión de un gráfico de temporización:
2.2.2 Función de visualización de un char
void OLED_ShowChar(u8 x,u8 y,u8 chr)
{
unsigned char c=0,i=0;
c=chr-' ';//得到偏移值
if(x>Max_Column-1){x=0;y=y+2;} //x超过最后一列, 换行
if(SIZE ==16)//8*16
{
OLED_Set_Pos(x,y); //设置坐标,其中x为列地址,y为页地址,参考下图分页情况
for(i=0;i<8;i++) //显示8*16点阵的上半部分
OLED_WR_Byte(F8X16[c*16+i],OLED_DATA);
OLED_Set_Pos(x,y+1);//光标移到下一页
for(i=0;i<8;i++) //显示8*16点阵的下半部分,参考下图显示示意图
OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA);
}
else //6*8
{
OLED_Set_Pos(x,y+1);
for(i=0;i<6;i++)
OLED_WR_Byte(F6x8[c][i],OLED_DATA);
}
}
Paginación:
Carácter 8 * 16 formato muestra una vista esquemática, de izquierda a derecha, de arriba a abajo, la primera mitad de la pantalla, y luego mover el cursor a la siguiente, sigue mostrando la mitad inferior de las
otras funciones de las funciones de visualización, que se basa en visualización de caracteres, están interesados en su propia investigación
3 Controlador de enlace de código
https://download.csdn.net/download/weixin_40134414/12302024
Escribir no es lo suficientemente detallada no lo suficientemente profundo, hay una mejor comprensión del seguimiento y luego pasó a añadir.