maoxudong 发表于 2018-7-27 15:33:36

基于CubieBLE-1109开发板通过GPIO模拟SPI实现OLED点亮

本帖最后由 蓝天-彭 于 2018-9-26 16:23 编辑

一、软硬件环境
1、软件SDK版本:ATB110X_SDK_TAG_ZS110A_1910_180724
2、硬件:最新的芯片ATB1109,配合ATB110x开发板
3、OLED:0.96彩色OLED,驱动芯片为ST7735S

二、实现步骤
1、基于炬芯BLE蓝牙SDK中的心率sample实现OLED驱动的添加
工程路径:ATB110X_SDK_TAG_ZS110A_1910_180724\zs110a\samples\bluetooth\peripheral_hrs\keil5
(开发板的使用和工程的配置相关内容参考《ATB110开发板入门指南》)

2、添加GPIO驱动
打开工程,添加GPIO驱动文件gpio_acts.c到工程中。驱动文件路径:ATB110X_SDK_TAG_ZS110A_1910_180724\zs110a\drivers\gpio

3、添加OLED驱动文件及相关头文件,这部分在附件中,可自己定义文件夹放置并添加到工程中即可

4、在 app_main 函数中添加GUI_init函数,对OLED进行初始化
具体代码实现为:(注意使用 extern 导入GUI_init 函数)extern void GUI_init(void);
void app_main(void)
{
      int err;
      GUI_init();

      err = bt_enable(bt_ready);
      if (err) {
                printk("Bluetooth init failed (err %d)\n", err);
                return;
      }

      bt_conn_cb_register(&conn_callbacks);
      
      /* Implement notification. At the moment there is no suitable way
         * of starting delayed work so we do it here
         */
      while (1) {
                k_sleep(MSEC_PER_SEC);
               
                /* Heartrate measurements simulation */
                hrs_notify();
      }      
}三、测试结果
手机拍摄的照片颜色有误差,实际显示的颜色为蓝色!

ahha007 发表于 2018-8-25 21:34:47

请问大家,一般的手环上的OLED屏是否和这个调试过的屏一回事?

maoxudong 发表于 2018-8-27 16:28:08

ahha007 发表于 2018-8-25 21:34 static/image/common/back.gif
请问大家,一般的手环上的OLED屏是否和这个调试过的屏一回事?

这个就是一家做手环的公司提供的屏幕
页: [1]
查看完整版本: 基于CubieBLE-1109开发板通过GPIO模拟SPI实现OLED点亮