查看: 5236|回复: 7

[原创] 【OKdo E1双核Cortex M33开发板】基于OKdo E1开发板的双色OLED屏...

[复制链接]
  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    连续签到: 1 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7123
    最后登录
    2023-4-20
    发表于 2020-11-2 23:30:45 | 显示全部楼层 |阅读模式
    本帖最后由 jinglixixi 于 2020-12-10 11:40 编辑

    前一段时间有幸得到一块OKdo E1开发板,几经探索终于开始入门了。
    既然能用I/O口控制LED等,下一个目标当然就是用I/O口来模拟I2C通讯,进而控制I2C接口的OLED屏来显示信息。
    老外的墨水屏咱没有,上网查了下似乎墨水屏并不便宜,那价格都可以买块尺寸不小的彩屏了。
    那就给OKdo E1开发板配上一个双色OLED屏来与其媲美吧,他是单色的,咱上个双色的!
    OLED屏与MCU的连接关系为:
    SCL---PIO0_7
    SDA---PIO1_0

    相关引脚输出高低电平的语句定义:
    #define OLED_SCLK_Clr()  GPIO_PinWrite(GPIO, 0u, 7u, 0)
    #define OLED_SCLK_Set()  GPIO_PinWrite(GPIO, 0u, 7u, 1)

    #define OLED_SDIN_Clr()  GPIO_PinWrite(GPIO, 1u, 0u, 0)
    #define OLED_SDIN_Set()  GPIO_PinWrite(GPIO, 1u, 0u, 1)

    OLED屏引脚配置的函数为:
    1. void app_oled_init(void)
    2. {
    3. gpio_pin_config_t   gpioPinConfig;
    4. gpioPinConfig.pinDirection = kGPIO_DigitalOutput;
    5. gpioPinConfig.outputLogic  = 1u;
    6. GPIO_PinInit (GPIO, 0u, 7u, &gpioPinConfig);
    7. GPIO_PinInit (GPIO, 1u, 0u, &gpioPinConfig);
    8. }
    复制代码

    OLED屏初始化函数为:
    1. void OLED_Init(void)
    2. {
    3. Write_IIC_Command(0xAE); //display off
    4. Write_IIC_Command(0x20); //Set Memory Addressing Mode
    5. Write_IIC_Command(0x10);
    6. Write_IIC_Command(0xb0);//Set Page Start Address for Page Addressing Mode,0-7
    7. Write_IIC_Command(0xc8);//Set COM Output Scan Direction
    8. Write_IIC_Command(0x00);//---set low column address
    9. Write_IIC_Command(0x10);//---set high column address
    10. Write_IIC_Command(0x40);//--set start line address
    11. Write_IIC_Command(0x81);//--set contrast control register
    12. Write_IIC_Command(0xdf);
    13. Write_IIC_Command(0xa1);//--set segment re-map 0 to 127
    14. Write_IIC_Command(0xa6);//--set normal display
    15. Write_IIC_Command(0xa8);//--set multiplex ratio(1 to 64)
    16. Write_IIC_Command(0x3F);//
    17. Write_IIC_Command(0xa4);//0xa4,Output follows RAM content;0xa5,Output ignores RAM content
    18. Write_IIC_Command(0xd3);//-set display offset
    19. Write_IIC_Command(0x00);//-not offset
    20. Write_IIC_Command(0xd5);//--set display clock divide ratio/oscillator frequency
    21. Write_IIC_Command(0xf0);//--set divide ratio
    22. Write_IIC_Command(0xd9);//--set pre-charge period
    23. Write_IIC_Command(0x22); //
    24. Write_IIC_Command(0xda);//--set com pins hardware configuration
    25. Write_IIC_Command(0x12);
    26. Write_IIC_Command(0xdb);//--set vcomh
    27. Write_IIC_Command(0x20);//0x20,0.77xVcc
    28. Write_IIC_Command(0x8d);//--set DC-DC enable
    29. Write_IIC_Command(0x14);//
    30. Write_IIC_Command(0xaf);//--turn on oled panel
    31. }
    复制代码

    OLED屏显示主程序:
    1. int main(void)
    2. {
    3. POWER_SetBodVbatLevel(kPOWER_BodVbatLevel1650mv, kPOWER_BodHystLevel50mv, false);
    4. CLOCK_EnableClock(kCLOCK_Gpio0);
    5. CLOCK_EnableClock(kCLOCK_Gpio1);
    6. BOARD_BootClockFROHF96M();
    7. app_oled_init();
    8. OLED_Init();
    9. OLED_Clear();
    10. OLED_ShowString(0,0,"OKDOE1 TEST",16);
    11. OLED_ShowString(0,2,"OLED Display",16);
    12. OLED_ShowString(0,4,"jinglixixi",16);
    13. OLED_ShowString(0,6,"2020.11.2",16);
    14. while (1);
    15. }
    复制代码

    经程序的编译下载,其运行效果如图所示。
    snap.jpg
    OLED屏显示效果


    好了如今有了OLED屏这个小家伙,就如同打开了一扇信息显示的窗口,再有信息显示的活儿就不用全只靠串口输出了。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 18:02
  • 签到天数: 1690 天

    连续签到: 107 天

    [LV.Master]伴坛终老

    23

    主题

    1万

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    15718
    最后登录
    2025-7-18
    发表于 2020-11-3 09:13:18 | 显示全部楼层
    牛人!  这块屏是自己做的?
    跟着日天混,三天饱九顿!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    连续签到: 1 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7123
    最后登录
    2023-4-20
     楼主| 发表于 2020-11-3 09:51:38 | 显示全部楼层
    sumoon_yao 发表于 2020-11-3 09:13
    牛人!  这块屏是自己做的?

    why?                        
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 18:02
  • 签到天数: 1690 天

    连续签到: 107 天

    [LV.Master]伴坛终老

    23

    主题

    1万

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    15718
    最后登录
    2025-7-18
    发表于 2020-11-3 10:16:20 | 显示全部楼层

    我是想问你这块屏是自己做的还是买的, 我也想要块这样的屏.
    跟着日天混,三天饱九顿!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    103

    主题

    868

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    4336
    最后登录
    2025-6-13
    发表于 2020-11-3 10:23:40 | 显示全部楼层
    淘宝搜OLED 128 64 0.96寸 估计很多
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    连续签到: 1 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7123
    最后登录
    2023-4-20
     楼主| 发表于 2020-11-3 10:29:51 | 显示全部楼层
    sumoon_yao 发表于 2020-11-3 10:16
    我是想问你这块屏是自己做的还是买的, 我也想要块这样的屏.

    肯定是买的,否则成本太高,就是裸屏配个转接板也要花银子呀!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    连续签到: 1 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7123
    最后登录
    2023-4-20
     楼主| 发表于 2020-11-3 10:35:02 | 显示全部楼层
    本帖最后由 jinglixixi 于 2020-11-3 10:43 编辑
    sumoon_yao 发表于 2020-11-3 10:16
    我是想问你这块屏是自己做的还是买的, 我也想要块这样的屏.

    我倒了下老账,源出此处:https://detail.tmall.com/item.ht ... SQc&_u=32mfdt0t0d5a

    还是选下面这家吧,比我买的便宜一倍!
    https://detail.tmall.com/item.ht ... 8dd453d52be4d2104d7


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 18:02
  • 签到天数: 1690 天

    连续签到: 107 天

    [LV.Master]伴坛终老

    23

    主题

    1万

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    15718
    最后登录
    2025-7-18
    发表于 2020-11-3 12:37:36 | 显示全部楼层
    jinglixixi 发表于 2020-11-3 10:35
    我倒了下老账,源出此处:https://detail.tmall.com/item.ht ... SQc&_u=32mfdt0t0d5a

    还是选下面这家吧 ...

    收到! 谢谢!
    跟着日天混,三天饱九顿!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-19 10:11 , Processed in 0.107863 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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