OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2902|回复: 5

RA8875初始化后屏幕花屏

[复制链接]

31

主题

108

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2927
金钱
2927
注册时间
2015-12-30
在线时间
357 小时
发表于 2017-1-3 16:47:05 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 lophost 于 2017-1-3 16:47 编辑

void GUI_LCDInit(void)
{
   RST_CRL;
   s_WaitNms(30);
   RST_SET;
   CS_SET;
   WR_SET;
   RD_SET;

    s_CmdWrite(0x88);   
    s_DataWrite(0x0b);
    s_Delay(10000);   
    s_CmdWrite(0x89);        
    s_DataWrite(0x02);     
    s_Delay(10000);

    s_CmdWrite(0x10);  //SYSR   bit[4:3]=00 256 color  bit[2:1]=        00 8bit MPU interface                                               
    s_DataWrite(0x0C); // if 8bit MCU interface         and 65k color display       
    s_Delay(10000);

    //==============        Display Window        640x480 ==================       
    s_CmdWrite(0x04);    //PCLK inverse
    s_DataWrite(0x01);
    s_Delay(10000);

    //Horizontal set
    s_CmdWrite(0x14);//HDWR//Horizontal Display Width Setting Bit[6:0]                  
    s_DataWrite(0x4F);//Horizontal display width(pixels) = (HDWR + 1)*8                  
    s_CmdWrite(0x15); //Horizontal Non-Display Period Fine Tuning Option Register (HNDFTR)
    s_DataWrite(0x05);//Horizontal Non-Display Period Fine Tuning(HNDFT) [3:0]            
    s_CmdWrite(0x16);//HNDR//Horizontal Non-Display Period Bit[4:0]                     
    s_DataWrite(0x0f);//Horizontal Non-Display Period (pixels) = (HNDR + 1)*8            
    s_CmdWrite(0x17);//HSTR//HSYNC Start Position[4:0]                                   
    s_DataWrite(0x01);//HSYNC Start Position(PCLK) = (HSTR + 1)*8                        
    s_CmdWrite(0x18); //HPWR//HSYNC Polarity ,The period width of HSYNC.                  
    s_DataWrite(0x00);//HSYNC Width [4:0]   HSYNC Pulse width(PCLK) = (HPWR + 1)*8  
    //Vertical set      
    s_CmdWrite(0x19); //VDHR0 //Vertical Display Height Bit [7:0]                        
    s_DataWrite(0xdf);//Vertical pixels = VDHR + 1                                       
    s_CmdWrite(0x1A);//VDHR1 //Vertical Display Height Bit [8]                           
    s_DataWrite(0x01);//Vertical pixels = VDHR + 1                                       
    s_CmdWrite(0x1B);//VNDR0 //Vertical Non-Display Period Bit [7:0]                     
    s_DataWrite(0x0A);//Vertical Non-Display area = (VNDR + 1)                           
    s_CmdWrite(0x1C);//VNDR1 //Vertical Non-Display Period Bit [8]                       
    s_DataWrite(0x00);//Vertical Non-Display area = (VNDR + 1)                           
    s_CmdWrite(0x1D);//VSTR0 //VSYNC Start Position[7:0]                                 
    s_DataWrite(0x0E);//VSYNC Start Position(PCLK) = (VSTR + 1)                           
    s_CmdWrite(0x1E);//VSTR1 //VSYNC Start Position[8]                                   
    s_DataWrite(0x00);//VSYNC Start Position(PCLK) = (VSTR + 1)                           
    s_CmdWrite(0x1F);//VPWR //VSYNC Polarity ,VSYNC Pulse Width[6:0]                     
    s_DataWrite(0x01);//VSYNC Pulse Width(PCLK) = (VPWR + 1)                              

   //Active window  set
   //setting active window X
    s_CmdWrite(0x30); //Horizontal Start Point 0 of Active Window (HSAW0)
    s_DataWrite(0x00); //Horizontal Start Point of Active Window [7:0]
    s_CmdWrite(0x31); //Horizontal Start Point 1 of Active Window (HSAW1)          
    s_DataWrite(0x00); //Horizontal Start Point of Active Window [9:8]
    s_CmdWrite(0x34); //Horizontal End Point 0 of Active Window (HEAW0)
    s_DataWrite(0x7f); //Horizontal End Point of Active Window [7:0]
    s_CmdWrite(0x35); //Horizontal End Point 1 of Active Window (HEAW1)          
    s_DataWrite(0x02); //Horizontal End Point of Active Window [9:8]

   //setting active window Y
    s_CmdWrite(0x32); //Vertical Start Point 0 of Active Window (VSAW0)
    s_DataWrite(0x00); //Vertical Start Point of Active Window [7:0]
    s_CmdWrite(0x33); //Vertical Start Point 1 of Active Window (VSAW1)          
    s_DataWrite(0x00); //Vertical Start Point of Active Window [8]
    s_CmdWrite(0x36); //Vertical End Point of Active Window 0 (VEAW0)
    s_DataWrite(0xdf); //Vertical End Point of Active Window [7:0]
    s_CmdWrite(0x37); //Vertical End Point of Active Window 1 (VEAW1)          
    s_DataWrite(0x01); //Vertical End Point of Active Window [8]
          
   /*setting RA8875 display on*/       
    s_CmdWrite(0x01); //       
    s_DataWrite(0x80); //
    s_Delay(10000);
    Active_Window(0,639,0,479); }
如上初始化之后,屏幕花屏,哪位知道问题出在哪里,指点下,多谢

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

108

帖子

0

精华

高级会员

Rank: 4

积分
717
金钱
717
注册时间
2014-2-24
在线时间
257 小时
发表于 2017-1-3 16:47:06 | 显示全部楼层
回复

使用道具 举报

31

主题

108

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2927
金钱
2927
注册时间
2015-12-30
在线时间
357 小时
 楼主| 发表于 2017-1-3 16:50:47 | 显示全部楼层

花屏界面

花屏界面
回复

使用道具 举报

28

主题

288

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1213
金钱
1213
注册时间
2011-4-9
在线时间
97 小时
发表于 2017-1-3 17:27:14 | 显示全部楼层
排线,驱动程序,仔细查
回复

使用道具 举报

31

主题

108

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2927
金钱
2927
注册时间
2015-12-30
在线时间
357 小时
 楼主| 发表于 2017-1-3 17:57:29 | 显示全部楼层
山峰雪狼 发表于 2017-1-3 17:27
排线,驱动程序,仔细查

排线查了一遍,没有问题,驱动程序也是参照官网的写的,不知道问题出在哪里
回复

使用道具 举报

49

主题

341

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5265
金钱
5265
注册时间
2012-8-25
在线时间
1025 小时
发表于 2017-1-4 09:25:55 | 显示全部楼层
显存没清零?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-29 04:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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