当前位置: 首页 > article >正文

RT8H8K001_RT6809CNN01/RT8889CNN03_SPI-4参考程序

硬件:RT8H8K001 + RT6809CNN01/RT8889CNN03开发板 + TFT彩屏

下方选择AT070TN92作为图示范例:
在这里插入图片描述

【代码说明】

(1)该代码采用SPI-4,通信接口定义:
引脚功能RA6809/RA8889
P0.4SPI_SSCS / DB[4] / XnSCS
P0.5SPI_MISOSDO / DB[5] / XSSDO
P0.6SPI_MOSISDI / DB[6] / XSSDI
P0.7SPI_SCKSCK / DB[7] / XSSCL
P4.5GPIORESET

(2)开发板只焊接一颗FLASH,运行程序时请先将flash.bin烧录在FLASH。(请特别注意该点!!!)

  • RT6809CNN01,片选选择BUS1,CS1
  • RT8889CNN03,片选选择BUS1,CS2

(3)核心文件存放在RA8889_01_Kernel文件夹下:

RA8889_51.c 为底层接口文件
RA8889_API_51.c 为用户层接口文件
RA8889_MCU_IF.c 为单片机接口文件(通信接口定义及通信函数)
UserDef.h 为用户自定义参数文件
delay.c 延迟函数,请根据单片机的主频修正

(4)演示以下常用功能:

        Introduction();                                //文字介绍
        Geometry_Demo();                        //几何绘图演示
        Show_JPG();                                        //调用FLASH的JPG图片显示
        Show_BMP();                                        //调用FLASH的BMP图片显示
        Fade_in_Fade_out();                        //图片淡入淡出演示
        Show_AVI();                                        //调用FLASH的AVI影片播放
        Show_PNG();                                        //调用FLASH的PNG图片显示
        Check_LCD_Connection();                //用于检查LCD接线

(5)参考代码中,Check_LCD_Connection(void);用于检查LCD接线函数,特别有用!

若个别接线不良,运行该函数可以很容易找到具体哪根线路出问题:
在这里插入图片描述
参考代码:

/*****************************************************************
  * @brief  检查LCD的RGB接线是否正常
  * @param  无
  * @retval 无
  * @note   分别显示RGB各脚为1的图形,过渡不连续说明该脚异常
  ****************************************************************/
void Check_LCD_Connection (void)
{
        unsigned long fore_color=0x800000;
        unsigned int block_width=(LCD_Width-16)/8;
        unsigned int n,row=1;
        
        BTE_Solid_Fill(0,canvas_image_width,0,0,color16M_black,LCD_Width,LCD_Height);
        Foreground_color_16M(color16M_white);
        Select_Font_Height_WxN_HxN_ChromaKey_Alignment(24,2,2,1,0);                        //设定文字格式,放大两倍
        Goto_Text_XY(8,10);
        Show_String("Check LCD Connection:");
        
        Select_Font_Height_WxN_HxN_ChromaKey_Alignment(24,1,1,1,0);                        //设定文字格式

        //单独显示RGB24脚位块
        for(row=1;row<4;row++)
        {
                for(n=0;n<8;n++)
                {
                        BTE_Solid_Fill(0,canvas_image_width,8+block_width*n,row*60,fore_color,block_width,50);
                        fore_color=fore_color>>1;
                }
        }
        
        //显示红、绿、蓝渐进色条
        block_width=LCD_Width/256;
        for(row=1;row<4;row++)
        {
                fore_color=0;
                for(n=0;n<256;n++)
                {
                        BTE_Solid_Fill(0,canvas_image_width,block_width*n,(row+3)*60,fore_color<<(3-row)*8,block_width,50);
                        fore_color++;        
                }
        }
        
        delay_ms(3000);
}

以上硬件及参考代码请至论坛了解及下载:
bbs.lcdvision.com.cn


http://www.kler.cn/a/373709.html

相关文章:

  • 高并发设计模式之ForkJoin模式
  • 网络搜索引擎Shodan(2)
  • Python小游戏17——飞机大战
  • 代码随想录day15 二叉树(3)
  • windows下安装python库wordCloud报错
  • 【计网】网络协议栈学习总结 --- 浏览器上输入网址域名后点击回车,到底发生了什么?
  • 实现一个完整FPGA项目的流程
  • 【力扣打卡系列】二叉树的最近公共祖先
  • Qt 窗口部件的焦点策略
  • Python 自动化运维:CI/CD与DevOps实践的深度探讨
  • Kubernetes:(三)Kubeadm搭建K8s 1.20集群
  • 探索面向对象的高级特性与设计模式(2/5)
  • 爱普生SG-8101CA可编程晶振的应用领域
  • Oracle视频基础1.3.2练习
  • 基于 ThinkPHP+Mysql 灵活用工_灵活用工系统_灵活用工平台
  • Kubernetes 1.23.1 集群安装Istio 1.17.8
  • Maven:详解 clean 和 install 命令的使用
  • Unreal5从入门到精通之如何解决在VR项目在头显中卡顿的问题
  • 图技术发展简史
  • 全桥PFC电路及MATLAB仿真
  • 强化学习DQN实践(gymnasium+pytorch)
  • 快速全面系统的学习Python基础语法知识
  • 【ChatGPT】通过明确的角色设定提高ChatGPT输出的专业性
  • 【Linux】Zookeeper 部署
  • LeetCode 202 - 快乐数
  • python multiprocessing lock锁在相同父进程ID起作用