请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5272|回复: 5
收起左侧

[客户分享] STM32F407(V5)开发板驱动10寸显示屏(RA8876)经验分享

[复制链接]

4

主题

9

回帖

21

积分

新手上路

积分
21
QQ
发表于 2017-3-23 14:44:52 | 显示全部楼层 |阅读模式
STM32F407(V5)开发板上面带有的7寸屏幕使用的是RA8875驱动芯片,和RA8876不通用,因此使用10寸电阻屏的时候如果使用的是ucosIII+stemwin的话需要进行UCGUI优化(图1),这样需要优化完成并且移植RA8875的驱动,否则会使得屏幕出现花屏或者黑屏等现象不能正常显示,因此需要仿照RA8875的驱动去编写RA8876的驱动,下面是我按照RA8875编写的RA8876的驱动,亲测使用性能良好!
  1. /*
  2. *********************************************************************************************************
  3. *    oˉ êy Ãû: RA8876_DrawHColorLine
  4. *    1|ÄüËμÃ÷: »æÖÆò»ìõ2êé«Ë®Æ½Ïß £¨Ö÷òaóÃóúUCGUIμĽó¿úoˉêy£©
  5. *    DΠ   2Σo_usX1    £oÆeê¼μãX×ø±ê
  6. *              _usY1    £oˮƽÏßμÄY×ø±ê
  7. *              _usWidth £oÖ±ÏßμÄ¿í¶è
  8. *              _pColor : ÑÕé«»o3åÇø
  9. *    ·μ »Ø Öμ: ÎT
  10. *********************************************************************************************************
  11. */
  12. void RA8876_DrawHColorLine(uint16_t _usX1 , uint16_t _usY1, uint16_t _usWidth, uint16_t *_pColor)
  13. {
  14.     uint16_t i;
  15.    
  16.     if (g_LcdDirection == 0)                    /* oáÆá */
  17.     {
  18.         Goto_Pixel_XY(_usX1, _usY1);                /* éèÖÃμã×ø±ê */
  19.     }
  20.     else if (g_LcdDirection == 1)                /* oáÆᣬDy×a180¶è */
  21.     {
  22.         Goto_Pixel_XY(g_LcdWidth - _usX1, _usY1);               
  23.     }
  24.     else if (g_LcdDirection == 2)                /* êúÆá */
  25.     {
  26.         Goto_Pixel_XY(_usY1, _usX1);            
  27.     }
  28.     else if (g_LcdDirection == 3)                /* êúÆᣬDy×a180¶è */
  29.     {
  30.         Goto_Pixel_XY(g_LcdHeight - _usY1, _usX1);               
  31.     }
  32.    
  33. //    RA8876_CmdWrite(0x04);                        /* Äú′æSDRAMêy¾Y¶á/D′½ó¿ú */
  34. //  Check_Mem_WR_FIFO_not_Full();
  35. #ifdef MCU_16bit_ColorDepth_16bpp            /* Ñ¡Ôñ16λ16bppÑÕé«éî¶è */
  36.     for(i=0;i<_usWidth;i++)
  37.     {
  38.         Check_Mem_WR_FIFO_not_Full();
  39. //        RA8876_CmdWrite(*_pColor++);                        /* Äú′æSDRAMêy¾Y¶á/D′½ó¿ú */
  40.         RA8876_CmdWrite(0x04);                        /* Äú′æSDRAMêy¾Y¶á/D′½ó¿ú */
  41.         RA8876_DataWrite(*_pColor++);                /* D′èëÑÕé« */
  42.     }
  43. #endif
  44.     Check_Mem_WR_FIFO_not_Full();
  45. }
复制代码

UCGUI优化宏定义

UCGUI优化宏定义

使用RA8876的驱动函数替换相应的RA8875的函数

使用RA8876的驱动函数替换相应的RA8875的函数

评分

参与人数 1 +5 收起 理由
eric2013 + 5

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106400
QQ
发表于 2017-3-24 09:38:56 | 显示全部楼层
谢谢楼主分享[s:151]
回复

使用道具 举报

608

主题

3035

回帖

4879

积分

至尊会员

积分
4879
发表于 2017-3-27 10:48:34 | 显示全部楼层
8876  10寸的屏目前多少钱 ??
回复

使用道具 举报

33

主题

203

回帖

302

积分

高级会员

积分
302
发表于 2017-5-5 11:07:17 | 显示全部楼层
同样的屏,楼主方法亲测无效,目前继续努力中[s:149]
回复

使用道具 举报

1

主题

9

回帖

12

积分

新手上路

积分
12
发表于 2021-9-24 22:02:45 | 显示全部楼层
求助-有酬谢:STM32F103_ucOSIII_emWin_ra8876移植

STM32F103_ucOSIII_emWin_ILI9341程序能正常工作,现在用RA8876_10.2寸液晶屏代替原有的ILI9341液晶屏,本人搜集有一些关于RA8876的移植资料,请求大佬出手相助
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106400
QQ
发表于 2021-9-25 09:13:30 | 显示全部楼层
bbtclj 发表于 2021-9-24 22:02
求助-有酬谢:STM32F103_ucOSIII_emWin_ra8876移植

STM32F103_ucOSIII_emWin_ILI9341程序能正常工作,现 ...

RA8876的读点和写点功能实现了没
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-19 08:32 , Processed in 0.188634 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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