你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

论STM32F429 LTDC驱动RGB 显示右移的问题

[复制链接]
胤幻1988 发布时间:2023-1-31 16:06
STM32F429及F7,H7内部集成了LTDC寄存器,直接驱动RGB LCD。但在使用中发现屏幕整体右移的现象。
8 d# q' ^4 S* {7 a查找了一番,发现是LTDC的一些相关参数没有配置好的问题。
7 `3 \/ ^+ t6 z- [# b$ z0 t6 M9 y  [在LTDC初始化中,如下:
- Y$ z0 Y( ^; ~2 j8 e9 q
  1.     //DIY的        320X240 RGB屏幕          \6 l7 A! {8 A% H# a- y
  2.                 lcdltdc.pwidth=320;                            //面板宽度,单位:像素& z0 n( y7 M/ ]
  3.                 lcdltdc.pheight=240;                    //面板高度,单位:像素
    ; a8 Z4 w" w  e! }- h
  4. //                lcdltdc.hsw=32;                                    //水平同步宽度0 _" m3 q1 C1 C
  5. //                lcdltdc.vsw=1;                                    //垂直同步宽度
    + ^4 c6 P9 D/ Z6 A& X1 I
  6. //                lcdltdc.hbp=68;                                    //水平后廊0 Y5 q& H# b- g
  7. //                lcdltdc.vbp=18;                                    //垂直后廊
    3 z0 h, e1 G% l3 G3 @
  8. //                lcdltdc.hfp=20;                                    //水平前廊6 J) D2 s, V1 s5 N  Q
  9. //                lcdltdc.vfp=3;                                    //垂直前廊
    ! a/ l8 Y- A; J% f7 ?: Z- `
  10.                 8 j0 V, T. N0 {" N0 x4 T) Y/ t. ?
  11.                 lcdltdc.hsw=2;                                    //水平同步宽度
    * l# I& K) J- \7 \7 ?4 G$ F. n
  12.                 lcdltdc.vsw=1;                                    //垂直同步宽度( _6 @! D' j; N7 E- ?) ?2 J- p+ f
  13.                 lcdltdc.hbp=68;                                    //水平后廊
    0 r5 m/ I- |/ V3 h( D7 ]
  14.                 lcdltdc.vbp=17;                                    //垂直后廊
    : {/ b! M1 O+ K$ d6 n; C' I. ]
  15.                 lcdltdc.hfp=20;                                    //水平前廊% |: Q# u7 V9 _% l
  16.                 lcdltdc.vfp=0;                                    //垂直前廊; ]7 g; j+ c- _" Y7 ?* \; d# N8 m  p
  17.                 ; q# u: Z, _, h; q# Q/ z
  18.                 LTDC_Clk_Set(288,4,RCC_PLLSAIDIVR_8);   //设置像素时钟 9Mhz
复制代码
" W9 {* J0 f' C& W# z  k

- A0 {  g5 V) W, o; a6 @; i注释掉的是之前的配置,后经反复修正查看,更新为新的配置。
$ y6 e4 z9 _# ^具体原理,来着网上一个网友的思路:- f8 V' C/ ?8 P; V' ?) i: J
正常的TFT一行的显示周期是 前消隐+实际点输出+后消隐
6 z# c; ]0 I/ g1 o: Y7 @HBP、HFP 代表前后消隐所需要的周期3 A, l4 n7 i, v$ }) R5 ^" P
如果前消隐设置小了,后消隐设置大了,LCD控制器的实际输出就会被当做消隐而不会实际显示出来,看到的效果就是图像左移,反之图像右移
0 N8 m2 `! B/ w2 |4 h. U% }1 [4 z如果前后消隐都设置小了,理论上第二行的图像可能会被当做第一行的图像显示,照成屏幕歪斜不同步,但是有些TFT中内部的时序电路会自动补上缺少的时钟,所以也不一定会看到不同步的画面
' c- h7 U7 M: U/ [, ]- n2 ~场的消隐同理
" Y" W$ ]( m% I至于为什么要消隐是为了兼容CRT显示器的显示原理,CRT显示器每一个扫描行完成后,电子枪需要回扫,这段时间不能显示,所以这段时间的视频信号需要暂停一下,就是消隐.
其中发现有时候即便调整的没有白边,但是图像闪烁明细,后增加前后整体时间,闪烁消失。遂好!
' y& g0 j% Z- w5 B非常感谢这位兄弟!
0 N3 h" X3 {0 @0 v4 t
4 Y5 _" ^: L  ^3 G* X7 G5 Z; F0 ?
收藏 评论1 发布时间:2023-1-31 16:06

举报

1个回答
STMCU-管管 回答时间:2023-8-10 10:46:33
给力8 w% A& O! G; n  y" ]

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版