找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7519|回复: 5
打印 上一主题 下一主题
收起左侧

ST7796初始化代码

[复制链接]
跳转到指定楼层
楼主
ID:494402 发表于 2019-3-20 03:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做LCD controller, 贴一个ST7796初始化代码供大家参考。

单片机源程序如下:
  1. /*
  2. * ST7796.c
  3. *
  4. *  Created on: Nov 29, 2018
  5. *      Author: 20150287
  6. */

  7. #include "ST7796.h"
  8. #include "fsl_debug_console.h"

  9. status_t writeTable(st7796_cmd_t *cmdTable, uint32_t numCmds)
  10. {
  11.         while(numCmds--)
  12.         {
  13.                 writeCommand(cmdTable++);
  14.         }
  15.         return kStatus_Success;
  16. }
  17. /*-----------------------------------------------------------*/

  18. status_t writeData(uint8_t data, uint8_t type, uint32_t delay)
  19. {
  20.         uint8_t tx[BUFFER_SIZE] = {type, data};

  21.         /* after tx wait delay ms */
  22.         APP_SPI_Write(tx, delay);

  23.         return kStatus_Success;
  24. }
  25. /*-----------------------------------------------------------*/

  26. status_t writeCommand(st7796_cmd_t *cmd)
  27. {
  28.         uint8_t numArgs = cmd->numArgs;
  29.         uint8_t *args = cmd->args;
  30.         writeData(cmd->value, ST7796_DC_CMD, 0U);
  31.         while(numArgs--)
  32.         {
  33.                 writeData(*args++, ST7796_DC_DATA, (numArgs > 0) ? 0U : cmd->delay);
  34.         }
  35.         return kStatus_Success;
  36. }
  37. /*-----------------------------------------------------------*/

  38. void APP_ST7796_Init(void)
  39. {

  40.         /* cmds follows the format:
  41.          *
  42.          * command
  43.          * post command delay
  44.          * number of arguments/parameters
  45.          * array of arguments
  46.          *
  47.          * */

  48.         st7796_cmd_t cmds[] = {
  49.                         {
  50.                                         ST7796_SWRESET,
  51.                                         150U,
  52.                                         0U,
  53.                                         {},
  54.                         },
  55.                         {
  56.                                         ST7796_SLPOUT,
  57.                                         150U,
  58.                                         0U,
  59.                                         {},
  60.                         },
  61.                         {
  62.                                         ST7796_IFPXFMT,
  63.                                         12U,
  64.                                         1U,
  65.                                         {(ST7796_IFPXFMT_RGB_16 | ST7796_IFPXFMT_CTRL_16)},
  66.                         },
  67.                         {
  68.                                         ST7796_IFMODE,
  69.                                         12U,
  70.                                         1U,
  71.                                         {0x00},
  72.                         },
  73.                         {
  74.                                         ST7796_DFC,
  75.                                         12U,
  76.                                         1U,
  77.                                         {0xA2},
  78.                         },
  79.                         {
  80.                                         ST7796_NORON,
  81.                                         12U,
  82.                                         0U,
  83.                                         {},
  84.                         },
  85.                         {
  86.                                         ST7796_INVON,
  87.                                         12U,
  88.                                         0U,
  89.                                         {},
  90.                         },
  91.                         {
  92.                                         ST7796_INVOFF,
  93.                                         12U,
  94.                                         0U,
  95.                                         {},
  96.                         },
  97.                         {
  98.                                         ST7796_IDMOFF,
  99.                                         12U,
  100.                                         0U,
  101.                                         {},
  102.                         },
  103.                         {
  104.                                         ST7796_WRCTRLD,
  105.                                         12U,
  106.                                         1U,
  107.                                         {0x00 | ST7796_WRCTRLD_BCTRL_ON | ST7796_WRCTRLD_DD_ON | ST7796_WRCTRLD_BL_ON},
  108.                         },
  109.                         {
  110.                                         ST7796_DISPON,
  111.                                         500U,
  112.                                         0U,
  113.                                         {},
  114.                         },
  115.                         {
  116.                                         ST7796_WRDISBV,
  117.                                         12U,
  118.                                         1U,
  119.                                         {0x7F},
  120.                         },
  121.         };

  122.         PRINTF("ST7796: Starting setup.\r\n");
  123.         writeTable(cmds, 12U);
  124.         PRINTF("ST7796: Setup complete.\r\n");

  125.         return;
  126. }
  127. /*-----------------------------------------------------------*/

复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:626015 发表于 2019-10-18 09:47 | 只看该作者
谢谢老板,压缩包里的内容比帖子上多了什么吗?
回复

使用道具 举报

板凳
ID:632696 发表于 2019-10-30 16:37 | 只看该作者
楼主有发一个ST7796.h,谢谢
回复

使用道具 举报

地板
ID:505900 发表于 2019-11-14 13:29 | 只看该作者
没有参考价值
回复

使用道具 举报

5#
ID:658039 发表于 2020-12-24 21:08 | 只看该作者
这是LCD初始化,我不相信!!!
回复

使用道具 举报

6#
ID:517951 发表于 2021-3-12 16:00 | 只看该作者
液晶显示屏的驱动IC的初始化代码要说明是和那家的LCD什么尺寸搭配才有意义。比如和深超2.4 ,翰彩的什么尺寸的搭配。不然无显或是显示效果不好,或者不正常,就发出来的代码没有什么意义。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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