嵌入式爱好者

查看: 7701|回复: 1

[技术分享] 飞凌RT1052开发板显示SPI接口OLED屏显示

[复制链接]

1

主题

3

帖子

13

积分

扫一扫,手机访问本帖
发表于 2018-11-10 10:08:56 | 显示全部楼层 |阅读模式
本帖最后由 jinglixixi 于 2018-11-10 10:12 编辑

       这里再介绍一下在飞凌RT1052开发板上使用键盘端口(KPP)来驱动SPI接口OLED屏的方法。
OLED屏与RT1052的连接关系如下:
CS  --P1.24
DC  --P1.26
RST --P1.28
DIN --P1.27  D1   
SCLK--P1.25  D0
       使个引脚输出高低电平的定义如下:
#define OLED_CS_Clr()       GPIO_PinWrite(GPIO1, (24U), 0U);
#define OLED_CS_Set()       GPIO_PinWrite(GPIO1, (24U), 1U);
#define OLED_DC_Clr()       GPIO_PinWrite(GPIO1, (26U), 0U);
#define OLED_DC_Set()       GPIO_PinWrite(GPIO1, (26U), 1U);
#define OLED_RST_Clr()     GPIO_PinWrite(GPIO1, (28U), 0U);
#define OLED_RST_Set()      GPIO_PinWrite(GPIO1, (28U), 1U);
#define OLED_SDIN_Clr()    GPIO_PinWrite(GPIO1, (27U), 0U);
#define OLED_SDIN_Set()     GPIO_PinWrite(GPIO1, (27U), 1U);
#define OLED_SCLK_Clr()    GPIO_PinWrite(GPIO1, (25U), 0U);
#define OLED_SCLK_Set()     GPIO_PinWrite(GPIO1, (25U), 1U);

    配置各引脚为输出端口的函数为:
  1. void LCD_GPIO_Cogfig(void)
  2. {
  3.         gpio_pin_config_t led_config = {kGPIO_DigitalOutput, 0, kGPIO_NoIntmode};
  4.         GPIO_PinInit(GPIO1, (25U), &led_config);
  5.         GPIO_PinInit(GPIO1, (27U), &led_config);
  6.         GPIO_PinInit(GPIO1, (24U), &led_config);
  7.         GPIO_PinInit(GPIO1, (26U), &led_config);
  8.         GPIO_PinInit(GPIO1, (28U), &led_config);
  9.         GPIO_PinInit(GPIO1, (30U), &led_config);
  10.         GPIO_PinInit(GPIO1, (31U), &led_config);
  11. }
复制代码

    该OLED屏的初始化函数为:
  1. void OLED_Init(void)
  2. {
  3.         LCD_GPIO_Cogfig();
  4.        OLED_RST_Set();
  5.         delay_ms(100);
  6.         OLED_RST_Clr();
  7.         delay_ms(100);
  8.         OLED_RST_Set();
  9.         OLED_WR_Byte(0xAE,OLED_CMD);//--turn off oled panel
  10.         OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
  11.         OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
  12.         OLED_WR_Byte(0x40,OLED_CMD);//--set start line address  Set Mapping RAM      
复制代码


SPI 接口OLED屏显示效果

实现图示效果的主程序为:
  1. int main(void)
  2. {
  3.        uint16_t i=0;
  4.        gpio_pin_config_t led_config = {kGPIO_DigitalOutput, 0, kGPIO_NoIntmode};
  5.        BOARD_ConfigMPU();
  6.        BOARD_InitPins();
  7.        BOARD_BootClockRUN();
  8.        BOARD_InitDebugConsole();
  9.        GPIO_PinInit(EXAMPLE_LED_GPIO, EXAMPLE_LED_GPIO_PIN, &led_config);
  10.        delay();
  11.         OLED_Init();
  12.         OLED_Clear();
  13.         OLED_ShowString(8,0,"OK1052-C");
  14.         OLED_ShowString(8,2,"OLED TEST");
  15.         OLED_ShowString(8,4,"JINGLIXIXI");  
  16.         OLED_ShowString(8,6,"2018/11/8");
  17.         while(1);
  18. }
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

2

主题

3

帖子

10

积分

发表于 2019-4-10 16:13:12 | 显示全部楼层
你这程序不用取模了吗,我有imx6ul的开发板已经点亮正不知道怎么让他显示文字呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-24 23:20

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表