2416|5

6060

帖子

6

TA的资源

版主

楼主
 

【MSPM0L1306 LaunchPad™ 开发套件】8 SPI测试并驱动TFT液晶屏,整体测试总结 [复制链接]

 
        本次要驱动的屏的基本信息如下:
        1.54寸tft作为显示元件,主要参数是240*240分辨率,主控是7789,可通过SPI/8080进行通信,在本次测试使用SPI进行通信,驱动的同事也是对SPI功能的测试。硬件接口如下:
        其中SPI涉及3个接口,屏幕作为被动器件,只需要接受配置信息数据或者命令就可以了,其他接口均使用IO控制。
        为此我们在syscfg配置文件中创建一个SPI:
        注意:只能创建一个SPI;
        基础配置:
        频率最高16MHz,本次选择的是16M,帧格式选择3线模式,8位数据位,高位在前,也就是MSB,时钟极性选择Low,当没有时钟的时候管脚为低电平,其他默认就可以。
        一定要注意你的引脚配置,后续的连接需要根据这个进行:
        配置其他IO口为输出功能:
            TFT_POW:PA7;
            TFT_RST:PA23;
            TFT_WR:PA12;
            TFT_CS:PA3;
        不同的屏的初始化都是有差异的,只要配置对应的接口就可以,代码如下:
/************************************宏定义************************************/
#define TFT_RS_reset            DL_GPIO_clearPins(GPIOA, DL_GPIO_PIN_12)
#define TFT_RS_set              DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_12)
#define TFT_RESET_reset         DL_GPIO_clearPins(GPIOA, DL_GPIO_PIN_23)
#define TFT_RESET_set           DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_23)
#define TFT_BL_SET              DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_7)
#define TFT_BL_RESET            DL_GPIO_clearPins(GPIOA, DL_GPIO_PIN_7)

#define SPI1_CS_OUT0            DL_GPIO_clearPins(GPIOA, DL_GPIO_PIN_3)
#define SPI1_CS_OUT1            DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_3)

void delay_us(uint32_t Data)
{
    delay_cycles(Data*32);
}

void delay_ms(uint32_t Data)
{
    delay_cycles(Data*32000);
}

void SPI1_Send8(uint8_t Data)
{
    SPI1_CS_OUT0;
    delay_us(1);

    DL_SPI_transmitData8(SPI_TFT_INST, Data);
    while(DL_SPI_isBusy(SPI_TFT_INST));

    delay_us(1);
    SPI1_CS_OUT1;
}

void TFT_init(void)
{
    TFT_BL_SET;
    TFT_RESET_reset;
    SPI1_CS_OUT1;
}


void TFT_WR_COMM(uint8_t COMM)
{
  TFT_RS_reset;                                                              
  SPI1_Send8(COMM);                                                            
}

void TFT_WR_DATA(uint8_t DATA)
{
  TFT_RS_set;                                                              
  SPI1_Send8(DATA);                                                                                                                         

}

void TFT_WR_DATA16(uint16_t DATA)
{
  TFT_WR_DATA( DATA >> 8);
  TFT_WR_DATA( DATA );
}

 

        初始化成功:
        整体来说由于主频的限制,整屏刷新还是比较喜人的,如果是分辨率小一点还是完全没有压力的。
总结
        到这里基本上对于想要测试的功能都有了一个基本的了解和测试功能实现,对于这个开发板TI板载的资源还是很丰富的,不仅仅是板载了调试器还准备了丰富的外部资源用与对外设功能的测试,尽量减少测评所需的额外的器件,让你可以快速体验;
        syscfg配置文件随工程非常的方便,我们在进行基础配置可以快速进行,配置完成编译就可以完成初始化,不过也有一些小问题需要注意,例如SPI中新建的几个IO配置在进行“Name”项的复制粘贴时出现了复位配置的情况,屏幕初始化失败就因为这个,当然还有其他的小问题,外部中断对应的中断处理函数单一就不给宏定义,导致找了好长时间中断函数,不过整体来说还是很方便的;
        SDK的存在就是让你对各个外设功能的全面体验,你可以使用开发板直接下载进行体验,也可以打开学习使用方法,每个demo工程包括软硬件的介绍和syscfg配置等,全面详细。
        本次测试体验圆满结束!
此帖出自MSPM0 MCU论坛

最新回复

楼主您好,能贴出全部代码吗,自己移植不成功,想用源码学习下   详情 回复 发表于 2024-3-9 16:53
点赞 关注
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 

回复
举报

6587

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

TI板载的资源确实多,方便syscfg配置文件,不愧是大厂

此帖出自MSPM0 MCU论坛

点评

每家配置都有各自特点的,TI的就很方便    详情 回复 发表于 2023-11-6 07:41
 
 
 

回复

6060

帖子

6

TA的资源

版主

板凳
 
Jacktang 发表于 2023-11-6 07:30 TI板载的资源确实多,方便syscfg配置文件,不愧是大厂

每家配置都有各自特点的,TI的就很方便  

此帖出自MSPM0 MCU论坛
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

222

帖子

3

TA的资源

一粒金砂(高级)

4
 

很强


此帖出自MSPM0 MCU论坛

点评

大厂的开发板确实很不错     详情 回复 发表于 2023-11-9 08:43
 
 
 

回复

6060

帖子

6

TA的资源

版主

5
 

大厂的开发板确实很不错   

此帖出自MSPM0 MCU论坛
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

126

帖子

1

TA的资源

一粒金砂(高级)

6
 

楼主您好,能贴出全部代码吗,自己移植不成功,想用源码学习下

此帖出自MSPM0 MCU论坛
个人签名

没用比没有强

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表