2024-09-01
售卖作品
00

目录

帮助、问询

SSD1306通信方式靠硬件选择:

在这里插入图片描述

四线SPI(只针对SSD1306的一个名字)的OLED款式1

D0时钟 D1数据 RST复位 DC数据命令选择

在这里插入图片描述

四线SPI(只针对SSD1306的一个名字)的OLED款式2

D0时钟 D1数据 RST复位 DC数据命令选择 CS片选

在这里插入图片描述

四线SPI模式的时序图,重点看,单片机是得在时钟上升沿给数据,一个字节先传输的最高位。但后面设置G2553的时候,却是需要下降沿给数据,搞不懂这里。

在这里插入图片描述

G2553中的SPI(Universal Serial Communication Interface, SPI Mode)USCI模块,

(1)四线是这四根线,最后一根STE是使能线。G2553可以选择STE是高电平使能还是低电平(调节寄存器)。

在这里插入图片描述

(2)时钟线的极性和相位是通过寄存器UCCKPL and UCCKPH 控制。控制SSD1306时候UCCKPL 是1才行。

在这里插入图片描述

(3)CS片选线可以直接接GND就好了。

c
#include <msp430.h> #include "oled.h" // | G2 P1.2|-> Data Out (UCA0SIMO) --D1(OLED) // | P1.1|<- Data In (UCA0SOMI) // | P1.4|<- Serial Clock In (UCA0CLK) --D0(OLED) // | P2.0|->RES(OLED) 任意指定一个引脚 // | P2.1|->DC(OLED) 任意指定一个引脚 // | GND|->CS(OLED) 直接接GND片选上OLED int main(void) { WDTCTL = WDTPW + WDTHOLD; /* Stop WDT */ OLED_Init(); /* OLED初始化 */ OLED_ShowString(0, 0, "QQ742971636", 16, 1); OLED_ShowString(0, 2, "QQ742971636", 16, 0); OLED_ShowString(0, 4, "QQ742971636", 8, 1); OLED_ShowString(0, 5, "QQ742971636", 8, 1); OLED_ShowString(0, 6, "QQ742971636", 8, 1); OLED_ShowString(0, 7, "QQ742971636", 8, 1); while (1) { } }

(4) SPI比IIC协议快,而且非常稳定,刷屏几乎是一瞬间完成。而且IIC需要地址,设置起来还挺费事的,SPI的线虽然看起来多,但其实并不麻烦。用了硬件SPI方式后,更喜欢OLED了。

在这里插入图片描述

帮助、问询

csharp
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!