接前一篇文章:STM32H743驱动SSD1309(2)
三、命令说明
1. 设置命令锁定(FDh)
此双字节命令用于锁定OLED驱动器IC,不接受除其自身之外的任何命令。在输入FDh 16h(A[2]=1b)之后,OLED驱动器IC将不响应任何新输入的命令(除了FDh 12h A[2]=0b),并且将没有存储器访问。这被称为“锁定”状态。这意味着OLED驱动器IC在“锁定”状态下忽略所有命令(FDh 12h A[2] = 0b除外)。
输入FDh 12h(A[2]=0b),可以解锁OLED驱动器IC。这意味着驱动器IC将从“锁定”状态恢复,然后驱动器IC将响应命令和存储器访问。
示例代码:
LCD_WR_REG(0xFD); // Command Lock (SSD1309 use, SSD1305 no use)
LCD_WR_REG(0x12); // Unlock Driver IC (0x12/0x16)
2. 设置显示开/关(AEh/AFh)
这两个单字节命令用于打开或关闭OLED面板显示。
当显示打开时,通过Set Master Configuration(设置主配置)命令选择的电路将打开;
当显示关闭时,这些电路将关闭,分段和公共输出分别处于VSS状态和高阻抗状态。这些命令将显示设置为以下两种状态之一:
- AEh:显示关闭
- AFh:显示打开
示例代码:
LCD_WR_REG(0xAE); // Set Display Off
3. 设置显示时钟分频比/振荡器频率(D5h)
此命令由两个功能组成:
- 显示时钟分频比(D)(A[3:0])
设置分频比以从CLK生成DCLK(显示时钟)。分频比为1-16,重置值为0000b。有关DCLK和CLK的详细关系,请参阅第8.3节。
- 振荡频率(A[7:4])
如果CLS引脚被拉高,则对作为CLK源的振荡器频率Fosc进行编程。4位值产生16种不同的可用频率设置,如下所示。默认设置为1000b。
根据以上说明,实际的LCD板子上并没有晶振,也就是说没有外部时钟。因此,选择的是内部振荡器,因而D5h A[7:4]也就派上了用场。
示例代码:
LCD_WR_REG(0xD5); // Set Display Clock Divide Ratio/Oscillator Frequency
LCD_WR_REG(0xA0);
更多命令(寄存器)说明请看下回。