查看: 4033|回复: 18

[原创] LPC55S69物趣系列之①:8分钟上手ST7735串口屏

[复制链接]
  • TA的每日心情
    奋斗
    2022-3-11 00:40
  • 签到天数: 272 天

    [LV.8]以坛为家I

    9

    主题

    334

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1543
    最后登录
    2022-7-12
    发表于 2020-9-15 15:02:45 | 显示全部楼层 |阅读模式
    本帖最后由 Litthins 于 2020-10-10 21:06 编辑

    最近拿到LPC55S69-EVK开发板,打算做点有趣的东西,费尽心思想出了这个:
    物趣系列

            简单介绍下,物趣系列的最终目标是实现基于55S69的智能识别,猫猫狗狗之类的,能支持到多少种“物”,看具体进度。物趣系列技术路线:OV7670采集图像➡1.77寸TFT屏显示➡ESP8266上传服务器➡获取识别结果➡显示到TFT屏上。物趣系列将分三步走,
    第一步,LPC55S69-EVK适配 ST7735 TFT屏,这个屏是SPI的,用的是手边上项目剩的料。本贴!
    第二步,LPC55S69-EVK适配 OV7670 摄像头,把图像显示到TFT屏上。已更。
    第三步,LPC55S69-EVK适配 ESP8266 WIFI模块,上传到自家服务器,识别物体,将返回结果显示到TFT屏上。已更

    整个计划三帖更完,废话不多说,先更第一帖!


    LPC55S69物趣系列之①:8分钟上手ST7735串口屏

            手边上的TFT是1.77寸的SPI串口屏,FPC连接线,分辨率128*160,每秒刷3-4帧,稍微有点勉强,但紧巴紧巴还凑合。屏是之前项目剩的料,一包好多个,不利用起来也挺可惜。我这块屏唯独不太好的地方,它是2.8V供电,不知道你们手头的是不是3.3V的。最近比较忙,2.8V的电源不想做了,索性用个二极管串一下,0.4V的压降,干到2.9V,差不多得了。于是乎画了下面这个转接板。

    TFT转接板.JPG

            这个屏是ST7735的SPI屏,除去SPI的MOSI和SCK,还需要复位信号RST、片选信号CS、指令|数据切换信号DC、背光信号LED等4个信号,这里用GPIO来实现。本人使用的是NXP的MCUXpresso IDE v11.2.0_4120集成开发环境,SDK已预先通过IDE安装完成,相关外围设备的初始化使用IDE自带的图形化配置界面Config Tools完成。

            首先是建立一个新的LPC55S69 Project,这里直接建立一个空工程,不要从SDK里拉取示例。因为TFT是SPI接口的,记得在Components➡Drivers中勾选SPI。在Project Options➡SDK Debug Console中选择Semihost,这个“Semihost”把MCU打印信息和IDE的调试工具配合起来,是个很实用的工具,开箱即用无需配置。相比之下串口打印就显得生硬些。相关选项可参考下图。

    工程建立.JPG

            新建工程后,使用图形化配置工具对工程进行配置,这款芯片的UART、I2C、SPI等外设都是通过FLEXCOMx统一管理的,这是很有个性的一点。本人用NXP的MCU较少,不知道在其它型号上是不是也是这样。这里用到GPIO和SPI。像我这样的新手可以先配置GPIO,学习读写。再上SPI,用逻辑分析仪看看波形。
    波形分析.JPG
            这里SPI0设置好后,需要配置FLEXCOM0的时钟,并完成SPI0的初始化。由于只用到SPI0的MOSI和SCK,其它两条线用不到所以不用初始化,右下角的警告可忽略。GPIO选取PIO0_0,PIO0_13,PIO0_14,PIO1_31,这四个IO正好位于P19接口的最下方,方便记忆与连接。NXP的SPI好像可以直接控制CS信号,这里暂时还是用GPIO来实现,感兴趣的朋友可以自己试一下。相关配置可参考下图。
    外设配置.JPG SPI0配置.JPG
            配置完成后记得点击“更新源代码”将更改应用到工程中,一定不要忘了。如果对自己的配置不放心,可以在驱动里找SPI的收发函数,测试一下。
            这里提供一个我裁剪过的驱动,仅针对ST7735的128*160分辨率SPI串口屏适用。移植时实现GPIO引脚控制和SPI发送函数即可正常使用。适配后的代码如下:
    在TFT177.h中修改:
    #define TFT177_LED_PORT 0U
    #define TFT177_LED_PIN  0U

    #define TFT177_RST_PORT 1U
    #define TFT177_RST_PIN  31U

    #define TFT177_CS_PORT 0U
    #define TFT177_CS_PIN  13U

    #define TFT177_DC_PORT 0U
    #define TFT177_DC_PIN  14U

    #define LCD_CS_CLR  GPIO_PinWrite(GPIO, TFT177_CS_PORT, TFT177_CS_PIN, 0)
    #define LCD_CS_SET  GPIO_PinWrite(GPIO, TFT177_CS_PORT, TFT177_CS_PIN, 1)

    #define LCD_LED_CLR GPIO_PinWrite(GPIO, TFT177_LED_PORT, TFT177_LED_PIN, 1)
    #define LCD_LED_SET GPIO_PinWrite(GPIO, TFT177_LED_PORT, TFT177_LED_PIN, 0)

    #define LCD_DC_CLR  GPIO_PinWrite(GPIO, TFT177_DC_PORT, TFT177_DC_PIN, 0)
    #define LCD_DC_SET  GPIO_PinWrite(GPIO, TFT177_DC_PORT, TFT177_DC_PIN, 1)

    #define LCD_RST_CLR GPIO_PinWrite(GPIO, TFT177_RST_PORT, TFT177_RST_PIN, 0)
    #define LCD_RST_SET GPIO_PinWrite(GPIO, TFT177_RST_PORT, TFT177_RST_PIN, 1)

    在TFT177.c中修改:
    void SPI_Write_Data_x8(uint8_t Data) {
            uint8_t txBuff = Data;
            uint8_t rxBuff = 0;

            spi_transfer_t xfer = { 0 };
            xfer.txData = &txBuff;
            xfer.rxData = &rxBuff;
            xfer.dataSize = sizeof(rxBuff);
            xfer.configFlags = kSPI_FrameAssert;

            SPI_MasterTransferBlocking(SPI0, &xfer);
    }

    附上效果图一张,驱动已上传: ST7735_SPI_Driver for LPC55S69-EVK.zip (13.3 KB, 下载次数: 27)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

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

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3967
    最后登录
    2024-4-16
    发表于 2020-9-15 16:55:00 | 显示全部楼层
    大神厉害了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-5-25 16:03
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    8

    主题

    718

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3395
    最后登录
    2024-3-5
    发表于 2020-9-15 18:23:22 | 显示全部楼层
    膜拜太神
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32003
    最后登录
    2024-4-9
    发表于 2020-9-15 18:54:57 | 显示全部楼层

    牛哥,再搞点好玩的,网友一块参与,solo下
    签到签到
    回复 支持 反对

    使用道具 举报

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

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3967
    最后登录
    2024-4-16
    发表于 2020-9-16 10:19:52 | 显示全部楼层
    NXP管管 发表于 2020-9-15 18:54
    牛哥,再搞点好玩的,网友一块参与,solo下

    计划了3个,有一个还在选型,另外两个慢慢在搞了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-3-11 00:40
  • 签到天数: 272 天

    [LV.8]以坛为家I

    9

    主题

    334

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1543
    最后登录
    2022-7-12
     楼主| 发表于 2020-9-16 10:42:12 | 显示全部楼层

    EVK刚拿到,还在学习中,希望大家多多关注LPC5500系列
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-3-11 00:40
  • 签到天数: 272 天

    [LV.8]以坛为家I

    9

    主题

    334

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1543
    最后登录
    2022-7-12
     楼主| 发表于 2020-9-16 10:43:33 | 显示全部楼层

    太神可还行,兄弟你确定没打错字?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32003
    最后登录
    2024-4-9
    发表于 2020-9-17 12:35:15 | 显示全部楼层
    mgn 发表于 2020-9-16 10:19
    计划了3个,有一个还在选型,另外两个慢慢在搞了

    期待中......奥利给
    签到签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2020-9-18 09:26:04 | 显示全部楼层
    这个显示屏还真棒!
    话说2.8v的电压,要是我,我也直接串二极管
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-3-11 00:40
  • 签到天数: 272 天

    [LV.8]以坛为家I

    9

    主题

    334

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1543
    最后登录
    2022-7-12
     楼主| 发表于 2020-9-19 16:36:08 | 显示全部楼层
    jobszheng5 发表于 2020-9-18 09:26
    这个显示屏还真棒!
    话说2.8v的电压,要是我,我也直接串二极管

    二极管承担了太多
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-19 14:32 , Processed in 0.148435 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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