单片机/MCU论坛
直播中

李明

13年用户 1050经验值
擅长:嵌入式技术 控制/MCU RF/无线
私信 关注
[文章]

【NV32F100x试用体验】No.11 显示屏OLED

`这是一个很简单的应用,显示也是一个很好玩的东西,就是喜欢。
其实原本是想写写EEPROM的,结果,还没搞清楚。
往后推推。

言归正传,OLED也是显示屏,而且省电方便,显示清晰。

OLED显示效果
手上其实也有很多显示屏,有16位并口的,8位并口的,这个OLED支持4线SPI和IIC其实我觉得是假的SPI。

使用5个IO口,我说是假的SPI因为这个SPI没有输入,而且还多了一个DC脚。
   
  1. GPIO_PinInit(GPIO_PTE0,GPIO_PinOutput);//对应CS
  2. GPIO_PinInit(GPIO_PTE1,GPIO_PinOutput);//对应DC
  3. GPIO_PinInit(GPIO_PTE2,GPIO_PinOutput);//对应RES
  4. GPIO_PinInit(GPIO_PTE3,GPIO_PinOutput);//对应D1

  5. GPIO_PinInit(GPIO_PTD2,GPIO_PinOutput);//对应D0

都设置为输出模式。

在OLED.H里修改函数
//-----------------OLED端口定义----------------                                            
#define OLED_CS_Clr()  GPIO_PinClear(GPIO_PTE0)//CS
#define OLED_CS_Set()  GPIO_PinSet(GPIO_PTE0)

#define OLED_RST_Clr() GPIO_PinClear(GPIO_PTE2)//RES
#define OLED_RST_Set() GPIO_PinSet(GPIO_PTE2)

#define OLED_DC_Clr() GPIO_PinClear(GPIO_PTE1)//DC
#define OLED_DC_Set() GPIO_PinSet(GPIO_PTE1)

//PC0~7,作为数据线
#define DATAOUT(x) GPIO_Write(GPIOC,x);//输出  
//使用4线串行接口时使用

#define OLED_SCLK_Clr() GPIO_PinClear(GPIO_PTD2)//CLK
#define OLED_SCLK_Set() GPIO_PinSet(GPIO_PTD2)

#define OLED_SDIN_Clr() GPIO_PinClear(GPIO_PTE3)//DIN
#define OLED_SDIN_Set() GPIO_PinSet(GPIO_PTE3)
这是Navota的库文件,所以直接使用。
后面就能直接使用了,是不是很简单。
3.jpg
当然多亏了官方提供的驱动文件,为我们提供了方便。
希望对你有帮助。放上源文件。如果有任何疑问,对比查阅。
NV32demoOLED.zip (230.92 KB)
(下载次数: 11, 2016-12-24 15:16 上传)


` 1.jpg 2.jpg

更多回帖

发帖
×
20
完善资料,
赚取积分