📄 ssd1783.c
字号:
#include "sublcd.h"
#include "ssd1783.h"
int SUBLCD_WIDTH=132;
int SUBLCD_HEIGHT=168;
void sublcd_hw_init(void)
{
SSD_REGWB(REG_Sub_Type,SSD_REGRB(REG_Sub_Type)&~0x03);
SSD_REGWB(REG_Sub_Type,SSD_REGRB(REG_Sub_Type)|0x01);
SSD_REGWB(REG_Sub_Bpp,0x02); // 2 byte per pixel (16bpp)
SSD_REGWB(REG_Sub_CLK_Divide,0x00); // Clock Divide
SubCmdWriteByte(0xe2); // reset
SubCmdWriteByte(0xd1); // Enable oscillator
SubCmdWriteByte(0x94); // Exit sleep mode
SubCmdWriteByte(0x20); // Set power control
SubArgWriteByte(0x0f);
SubCmdWriteByte(0x81); // Set contrast
SubArgWriteByte(0x1b);//18
SubArgWriteByte(0x05);//05
SubCmdWriteByte(0xfb); // Set bias ratio
SubArgWriteByte(0x04);//02
SubCmdWriteByte(0xa7); // Inverse display
SubCmdWriteByte(0xca); // Set Display control
SubArgWriteByte(0x00);
SubArgWriteByte(0x27);
SubArgWriteByte(0x00);
SubCmdWriteByte(0xf7); // Set 4bit PWM
SubArgWriteByte(0x28);
SubArgWriteByte(0x0e);//2c);
SubArgWriteByte(0x05);
SubCmdWriteByte(0xf2); // Set frame frequency
SubArgWriteByte(0x08);
SubArgWriteByte(0x46);//00
SubCmdWriteByte(0xbc);
SubArgWriteByte(0x00);
SubArgWriteByte(0x00);
SubArgWriteByte(0x04);//00 // 0x02:12bpp; 0x00:16bpp;
SubCmdWriteByte(0xbb);
SubArgWriteByte(0x01);
SubCmdWriteByte(0xaf); // Display on
SubCmdWriteByte(0x15); // Set Column Address
SubArgWriteByte(0x00);
SubArgWriteByte(0x83); // 7f: 127; 41: 66; 83: 131
SubCmdWriteByte(0x75); // Set Page Address
SubArgWriteByte(0x00);
SubArgWriteByte(0xa7); // 9f: 159;
SubCmdWriteByte(0x5c); // Write Display Data
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -