This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/CC2650:将 SSD1306 OLED LCD 显示屏与 CC2650相连。

Guru**** 2812305 points

Other Parts Discussed in Thread: TM4C123GH6PGE, CC2650

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/649726/ccs-cc2650-to-interface-ssd1306-oled-lcd-display-with-cc2650

器件型号:CC2650
主题中讨论的其他器件:TM4C123GH6PGE

工具/软件:Code Composer Studio

我已谷歌搜索、但未找到适用于 CC2650的 SSD1306驱动程序。 仅找到 TM4C123GH6PGE 的链接 。 有没有人能指导我如何将 SSD1306 OLED LCD 与 CC2650相连。 或者是否有任何教程可用于此目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请尝试参考 e2e.ti.com/.../647475中的讨论
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、我按照这个链接创建了 OLED SSD1306的驱动程序文件、并参考了 Adafruit OLED 驱动  程序、但 我的 OLED 未亮起。 我已经检查过多次、创建的驱动程序与 Adafruit 相同。 但我无法找到它为什么不打开。 SPI 正在初始化、就像我在控制台上打印时一样、它显示 SPI 已初始化。 是否有人可以帮助我解决此问题、或任何在 OLED 工作的人可以为我提供适当的帮助  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议您使用 SPI 协议分析器来检查 SPI 信号是否正确。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但 SPI 正在初始化、我已经检查了这个。 我现在使用的是3线 SPI、我将获得 D1、D0和复位引脚上的电压、如 Arduino 中所示。 现在我不使用直流引脚、因为 OLED 数据表中提到的三线制 SPI 不需要该引脚
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    成功初始化 SPI 是一回事、而发送正确的 SPI 命令则是另一回事。 您应该确保向 OLED 发送正确的 SPI 命令以使其正常工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    void 心跳 Fxn (UArg arg0、UArg arg1)////////// 这是我的任务函数


    _width= width;
    _height=高度;
    gfxFont = NULL;
    _vccstate = SSD1306_EXTERNALVCC;////////////////////
    OLED_INIT ();////////////// 用于初始化与 Arduino 中的 display.begin ()功能相同的 OLED
    setRotation (3);
    AdafruIT_SSD1306_fillScreen (黑色);
    Adafruit_GFX_setTextColor (白色、黑色);
    AdafruIT_GFX_setTextSize (1);
    Adafruit GFX_setCursor (55、100);
    Adafruit_GFX_print ("hello");
    //}


    //和以下是用于初始化 OLED SSD1306的函数


    void OLED_init (void)

    peri_spi_open();
    _vccstate=vccstate;
    vccstate = SSD1306_EXTERNALVCC;
    int i;

    OLED 的/*复位引脚
    PIN_setOutputValue (pinHandle、Board_OLED_RESET、1);
    Task_sleep (1);
    PIN_setOutputValue (pinHandle、Board_OLED_RESET、0);
    Task_sleep (10);
    PIN_setOutputValue (pinHandle、Board_OLED_RESET、1);


    writeCommand (SSD1306_DISPLAYOFF); // 0xAE ////////////////// 写入命令与 Arduino 的 SSD1306_command 相同
    writeCommand (SSD1306_SETDISPLAYCLOCKDIV); // 0xD5
    writeData (0x80); //建议的比率0x80

    writeCommand (SSD1306_SETMULTIPLEX); // 0xA8
    writeCommand (SSD1306HEIGHT - 1);

    writeCommand (SSD1306_SETDISPLOAYOFFSET); // 0xD3
    writeData (0x0); //无偏移
    writeCommand (SSD1306_SETSTARTLINE | 0x0); //行#0
    writeCommand (SSD1306_CHARGEPUMP); // 0x8D
    if (vccstate =SSD1306_EXTERNALVCC)
    { writeData (0x10);}
    其他
    { writeData (0x14);}
    ................................................................
    ................................................................




    因此、我将按上述方式传递命令值。 我所遗漏的内容、我无法找到、您能帮我找到。 谢谢你
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我没有 OLED 硬件来提供物理帮助,因此我建议您只使用 SPI 协议分析器来检查 OLED 的 SPI 命令是否正确。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您正在讨论 此 www.totalphase.com/.../、这是可以的
    我没有这种外观。 如果是软件、请向我发送链接。 通过这种方法、我可以确保 SPI 正在初始化、并且我已经调试了代码、以便所有命令都正确传递、并且我还检查了电压。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、SPI 协议分析器类似于 www.totalphase.com/.../
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉、我现在没有这个。 因此我无法使用它。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    替代方法是使用示波器、但必须手动读取/解析 SPI 信号。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我也没有这种范围。 我在家里,所以我只有几件事,比如万用表。