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

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

STM32F769I-DISCO开发板GUI学习内容(四)_课前预习之CubeMX(续)

[复制链接]
wolfgang 发布时间:2018-7-8 12:57
本帖最后由 wolfgang2015 于 2018-7-21 12:08 编辑 & ~+ j' e4 F, b0 \9 j

4 j+ }9 B2 V  U/ J( }0 _  u$ A本文是续接上文的CubeMX设置内容,在PIN及硬件参数在上文设置好后,本文设置内容偏软件控制参数的内容# m* w7 D8 k6 R7 b1 Q) g
& Y9 W0 t3 g9 Q) Q0 i
1)  LTDC配置 41.jpg   x" ^$ C/ s0 m- k( x# o
4 b$ A7 G3 {+ V1 e0 s
Parameter  Settings配置如下图:
42.jpg

$ t! a/ H. U8 d& a* |
Horizontal Synchronization Width水平同步宽度:2
表示水平同步(信号)宽度
Horizontal Back Porch水平后沿:1
表示从水平同步信号开始到一行的有效数据开始之间的VCLK的个数
Active Width有效宽度:400
Horizontal Front Porch水平前沿:1
表示一行的有效数据结束到下一个水平同步信号开始之间的VCLK的个数

  G2 G1 R( O9 V: `
Vertical Synchronization Height垂直同步高度:2
Vertical Back Porch垂直后沿:1
Active Height 有效高度:480
Vertical Front Porch 垂直前沿:1
$ }5 M5 z& _' P4 H* U
Horizontal Synchronization polarity水平同步极性 :Active Low
Vertical synchronization polarity垂直同步极性:Active Low
Not data enable polarity非数据启用极性:Active Low
Pixel clock polarity  像素时钟极性: Normal Input
, y: [. C- m% N6 D
Layer Settings 配置如下图:
43.jpg

$ ~4 @8 o0 Y* i. W
Number of Layers层数
Number of Layers :层数   1 Layers

9 l8 _" F0 b  b9 g7 ?; h7 |. L: P
Windows Position: 窗口位置
Layer0 – Window Horizoontal Start:窗口水平开始: 1
Layer0 –Window Horizontal Stop:窗口水平终止 400
Layer0 – Window Vertical Start:窗口垂直开始 1
Layer0 –Window Vertical Stop:窗口垂直终止  480
$ r$ {* P0 Q+ A3 S
Pixel Parameters: 像素参数
Layer0 –Pixel Format 像素格式: RGB888
5 Z4 k* P, p; \% F6 Q  A, z& I
Blending: 掺混
Layer0 –alpha constant for blending  用于混合的Layer-0-α常数
Default Alpha value默认alpha值
Blending Factor 1  混合因子1
Blending Factor 2  混合因子2     

; @" m0 ^' @3 ]
Frame Buffer帧缓冲器
Layer0 – Color Frame Buffer Start Adress层0 -彩色帧缓冲开始地址
Layer0 –Color Frame Buffer Line Length (Image Width) 彩色帧缓冲器行长度(图像宽度)
Layer0 –Color Frame Buffer Number of Lines (Image Height) 颜色帧缓冲器行数(图像高度)
& J5 w( a7 K4 a5 y3 ~# d
BackGround Color 背景色
Layer 0   第一层
Layer0 –Blue  蓝色
Layer0 –Green 绿色
Layer0 –Red   红色
4 Q$ @/ ]0 ?/ l! b  a7 Q2 I
使能 LTDC 全局中断
* o4 j) A9 X9 D" l* G( X7 e
44.jpg
+ D9 s9 X9 T+ n
2)  DSIHOST配置
DSI Clocks :在之前的时钟树中就配置好,这里保持默认
Timeout Counters :保持默认不变
Data and Clock Lanes: 数据时钟通道配置如下图:
45.jpg

. Q9 p- n$ B8 t( Z4 d8 U
Basic Settings  基本设置
   Number of Lanes:  Two Data Lanes   根据原理图得知,启用了2条数据线
  Automatic Clock LaneControl :自动始终通道控制:
      Clock Data Laneis always provided 时钟数据通道始终提供
  Bus Turn AroundRequest is : Enabled  启用总线转向请求

! _. H  A; t; W# k
Flow Control –Configuration流量控制-配置
  CRC Reception 接收CRC : Disable 禁止
  ECC Reception 接收ECC: Disable 禁止
  EoTP Reception is 接收EoTP: Disable 禁止
  EoTP transmission is 发送EoTP: Disable 禁止
  Acknowledge Requestafter Each Transmission 每次传输后的应答请求: Enable使能 
+ l" o( N7 J' n+ F3 R
Flow Control – Packet analyzer configuration流量控制-包分析器配置
   CRC Error Interrupt CRC错误中断: Disable 禁止
   ECC Error InterruptECC错误中断: Disable 禁止
   EoTP Error InterruptEoTP错误中断:Disable 禁止
   Packet Size ErrorInterrupt 包大小错误中断:Disable 禁止
   Acknowledge ErrorsInterrupt 应答错误中断:Disable 禁止
   PHY Related ErrorsInterrupt PHY错误中断:Disable 禁止

& Q9 `) D: F2 J8 s3 o& a3 {
PHY Timings :PHY周期设置:
46.jpg
) z- `! @; Z% {' D- V+ L
LP to HS and  HS to LPTransitions Timings : LP到HS和HS到LP转换周期
    Minimum wait periodto request a HS transmission after the Stop State (minest 1 cycle deescapeclock)
  在停止状态后请求HS传输的最小等待周期(最小1周期解逸时钟)
     10 lane Byte Clockcycles  10通道字节时钟周期
2 k. o, K) o8 j+ A  u
Commands 命令:
47.jpg

% u1 G! j3 F. o7 |4 e. P5 H
APB Interface Error Configuration APB接口错误配置
Generic Command Error Interrupt 通用命令错误中断 : Disable禁用
Transmission Mode for Commands: 命令传输模式
Generic Short Write Zero Parameter通用短写零参数:
LowPower Transmission   低功率传输
Generic Short Write OneParameter 通用短写一参数:
      Low Power Transmission   低功率传输
Generic Short Write TwoParameter通用短写二参数:
      Low Power Transmission   低功率传输
Generic Short Read ZeroParameter通用短读零参数:
      Low Power Transmission   低功率传输
Generic Short Read OneParameter通用短读一参数:
      Low Power Transmission   低功率传输
Generic Short Read TwoParameter通用短读二参数:
      Low Power Transmission   低功率传输
Generic Long Write   通用长写:
      Low Power Transmission   低功率传输
DCS Short Write Zero Parameter  DCS短写零参数:
      Low Power Transmission   低功率传输
DCS Short Write One Parameter  DCS短写一参数
      Low Power Transmission   低功率传输
DCS Short Read Zero Parameter  DCS 短读数零参数
      Low Power Transmission   低功率传输
DCS Long Write   DCS长写
      Low Power Transmission   低功率传输
Maximum Read Packet SizeCommand  最大读取包大小命令
      Low Power Transmission   低功率传输

6 J6 y& Y. `; t. i# F6 X* w& o. d/ `3 A; ]3 b
Display Interface  显示器接口
48.jpg
# b4 ~: [2 E2 z( w4 M& y
Basic Settings  基本设置
Display ID  显示ID :0   [虚拟通道ID必须在0到3之间]
Color Coding  颜色编码:
    RGB888(24bits) – DSI Mode   
Specific Command Mode Settings  特定命令模式设置
Maximum Command Size  最大命令大小:400 Pixels
The Refresh of the DisplayFrame Buffer is Iriggered 显示帧缓冲器的刷新歪曲
    On a Tearing Effect Event   在分裂效应实践
Tearing effect Source   分裂效应源
    External Source   外部源
Polarity of the ExternalTearing Effect Source  分裂事件源外部极性
    Rising Edge 上升沿
$ l( V- J2 s6 Q" N
NVIC Settings
49.jpg
2 ?% |8 {7 i$ ^" J+ X  x% t5 O
DSI Global Interrupt  
     Enabled 勾选
( a) E5 m7 L) u' F& ]

* i' a9 J0 i! \3)  FMC配置
SDRAM 1
50.jpg

3 _8 a) ^7 Z; P, }& x, Y& k$ @
SDRAM Control
  Bank  设定Bank号 SDRM Bank1
  Number of columnaddress bits  列地址位 :8Bits
  Number of row addressbits     行地址位 : 12Bits
  CAS Latency   预充电时间 :  3Memory Clock Cycles
  Write Protection  写保护 :  Disabled 禁止
  SDRAM Common Clock  SDRAM通用时钟   2HCLK Clock cycles
  SDRAM Common BurstRead  SDRAM通用突发读模式:  Enable
  SDRAM Common ReadPipe Delay SDRAM 通用AHB总线上读延迟:
    0 HCLK clock cycle
SDRAM timing in memory clock cycles  SDRAM内存内部时钟周期时序
  Load mode register toactive delay  装载寄存器到活动延迟:2
  Exit self-refreshdelay  退出自动刷新延迟:7
  Self-refresh time  自动刷新时间:4
  SDRAM common RowCycle Delay  SDRAM 公共行周期延迟:7
  Write Recovery time  写恢复时间:3
  SDRAM Common Rowprecharge Delay  SDRAM公共行预充电延迟:2
  Row to column delay  从行到列言辞:2
0 x& ?% F: {  j/ \3 w
1 B( l3 S! @. |+ a$ [6 h! ^
% F% Y  W8 d* O# g/ o+ f8 E
4)  图形中间件配置
Parameter Settings
51.jpg
# i, o  x4 \' L3 E: A8 A* p
Stack Name and Version 堆栈名称和版本
  Name :STemwin  \\区别原生态emWin
External Tool  外部工具
  Use GUIBuilderTool  是否使用GUIBuilder 工具: 否(验证GUI功能先进禁用)
Number of Layers 层数
  Gui_num_layers (Setin LTDC)  GUI层数(在LTDC中设置):1
Physical Display Size:物理显示尺寸
  X Size (pixels)   X像素大小:
  Y Siza (Pixels)  Y像素大小:
Display Driver  显示驱动
  Layer0-DisplayDriver- Orientation  0层显示驱动方向: GUIDRV_LIN_24
Multiple Buffers – Virtual Screens  多重缓冲区-虚拟屏幕设置
   Number of virtualScreens 虚拟屏幕数量: 1
   Number of MultipleBuffers 多重缓冲区数量:1
Frame Buffer 帧缓冲器
Layer0-Color Conversion  0层颜色转换: GUICC_888
Layer0-LTDC Pixel Format(set inLTDC) 0层LTDC像素格式(在LTDC中设置)  : LTDC_PIXEL_FORMAT_RGB888
Layer0-Color Frame BufferDepth(bpp) 0层帧缓冲深度(BPP):24
Layer0-Color Frame Buffer StartAddress(Set in LTDC) 0层帧缓冲器起始地址: 0xC000,0000
Layer1-Color Frame Buffer Depth(bpp)1层彩色帧缓冲深度(BPP): 0
GUI Memory size 图形用户界面内存大小设置
Number of Kbytes 字节数:110KB
Memory size (byte): 112640Byte;
General Settings 一般设置
  FreeRTOS 是否使用: Disabled禁用
  ZONE:  显示区域划分数量:2
GUI Parameters  图形用户界面参数
  GUI RGB Ordering  GUI RGB排序:ARGB
  GUI SpeedOptimization GUI速度优化:Enable
  GUI Default Font GUI默认字体:Font6x8
LCD Driver  LCD驱动:
  Use LCD Screen   使用的LCD屏幕: OTM8009A
  OTM8009A Orientation OTM8009A定位:OTM8009A_ORIENTATION_LANDSCAPE
  OTM8009A PixelFormat OTM像素格式:OTM8009A_FORMAT_RGB888
SDRAM Instances  SDRAM实例
  SDRAM instance  SDRAM实例: SDRAM1_BANK1
  SDRAM Refresh Count  SDRAM刷新计数: 1827

. D& b3 m" `. z5 o. S
Platform Settings:
52.jpg
% [* o0 `: V6 F" Z1 N! L. S
    Names: LCD Reset Pin XRES
IPs Or Components IPS或组件:  GPIO:Output
Found Solutions发现解决方案: PJ15
BSP API 驱动:
3 d9 n$ m  o* z, M8 b* k) {# L

4 b+ ?6 L+ q4 v# X, ]' d" L$ F4 J) c2 _& ?& Q4 u& N

9 ^9 {: H$ D: e% P5)  Cortex_M7系统配置9 \: ?* w% ?5 E/ p& X
53.jpg 8 }) }. U" ~! R' L3 X9 h
/ _& u9 R) V+ c" F, A; Y! @
CPU  ICache :使能
CPU  Dcache :使能

. y7 u2 k$ e( ^: J# `& R  p
" H! ], E3 j' g; a0 ]; r
5 W4 u3 x  f" t' F3 M6)  NVIC系统中断配置
NVIC
54.jpg
$ J8 b8 ?0 R$ o6 W# Q6 f" @
LTDC Global interrupt LTDC全局中断
   Preemption Priority   等级15

6 _5 l* d# T1 q
DSI Global Interrupt  DSI全局中断
   Preemption Priority  等级15

7 H% v/ B  U0 O& w+ }, P8 g* J4 h% p
7)  设置项目生成的代码,并自动生成代码:7 ]0 Q! w6 ?9 V+ C0 T

2 T: u$ \2 _) {# L7 T6 E  w
55.jpg
, Y9 r" h0 y' B
56.jpg

! s% q8 {! ?  C/ U! q/ x8 ]+ M
自动生成后的代码项目结构未下图:
57.jpg
; f! I$ S5 P  W0 [1 W+ l

$ F  E  {2 P( f% H! }! V# H% w
其中几个目录值得注意:
APP目录中是应用的目录,HelloWorld的输出在这里配置:
58.jpg
7 q$ u* F# u" z; q2 S4 C! |/ a; s4 t
这行代码决定了输出的内容,代码区别原生态内容,增加几个!作为区别
4 I2 Q: s# N3 e0 R+ S3 L
Target目录为GUI黄金初始化目录
Drivers\BSP是板载驱动的目录
Middlewares 是GUI中间件STemWin中间件目录

" I4 y2 g! G% D1 J% _3 I" |
代码怎么不用修改,直接编译下载到目标板后,显示如下:

1 M1 p6 A/ `, `
$ ?7 `: d& y% O% d; o3 P# w 59.jpg 7 h3 v* o7 x- W6 P4 U& ]) w

: b6 O3 S1 Z5 D, |0 x( ?
STM32F769I-DISCO开发板GUI学习内容(一)_课前知识预习
# E1 ?' Y3 X( @0 z" USTM32F769I-DISCO开发板GUI学习内容(二)_课前硬件基础
& @( K# t6 u- q- A) k* k- zSTM32F769I-DISCO开发板GUI学习内容(三)_课前预习之CubeMX篇(上)
' [5 R) p3 F- `5 [. ?8 jSTM32F769I-DISCO开发板GUI学习内容(四)_课后动手实验) a, u2 i/ B+ @- N

- ~( k. K8 ?5 b3 a补充说明:
. V3 e9 ~9 @# P# Z' n& p! p/ A这里要补充说一下:好像是Cubemx的BUG。图形中间件配置的配置里: ?. @: y* p  ]9 w. T7 `
第4步里,如果LTDC中设置Wite小于Height时, OTM8009A_ORIENTATION_LANDSCAPE是灰色,不能选取;! O: o' U3 I9 Q; A4 u

4 E3 i4 ^, h7 \4 s' {( ~( E4 X. r: p6 r) B" m3 I3 h! `/ V: y3 S
不影响代码的生成,但要在代码中修改下面这个初始化定义  % m% S& i2 |" h9 ]8 s0 Z
2 V) Q& v0 i$ T! g

/ \* Z6 a+ R2 O5 \4 G将:
. W) s- `$ R! |5 P3 V2 tOTM8009A_Init(OTM8009A_FORMAT, OTM8009A_ORIENTATION_PORTRAIT);7 W! X7 O& ], Q# U( @7 k: k
修改为:$ Q7 |% T2 o9 T( z5 H, b
OTM8009A_Init(OTM8009A_FORMAT, OTM8009A_ORIENTATION_LANDSCAPE);
% @# ]* W( h! X  f2 z6 }' }1 S6 \8 x1 g
-----HW_Init.c文件中
: G2 P! t6 ?7 @  M0 W1 h8 J( S2 d6 N# k- H2 q5 V$ I; e1 Z: r
收藏 评论9 发布时间:2018-7-8 12:57

举报

9个回答
wenyangzeng 回答时间:2018-7-8 14:21:58
本帖最后由 wenyangzeng 于 2018-7-8 14:54 编辑
) s1 \4 ^6 R7 B7 ~9 t& g. }5 j% @$ I5 [; P/ d4 Q
按照楼主介绍的方法配置后的效果:; d: |' x6 }: D* Y5 K( d

5 m% e4 j& t5 _1 N1 R 无标题.png 8 D4 d6 Q" ]) [2 q" j( ?* {2 ^

2 G: D+ y! c1 d7 L! x不知道哪里错了,请指教。' ?& n9 q6 @  }! ~/ x8 B
5 f3 f: a5 I) S

8 b* d( e# e. u2 z/ j/ }
3 |6 U2 V5 u9 b. ]) ^5 u6 `+ h& l6 d4 d/ |6 E

$ Z0 t% T( F' C* U- `1 X* G
wolfgang 回答时间:2018-7-8 15:08:25
wenyangzeng 发表于 2018-7-8 14:21
8 r' O, \* `2 j; j0 l" y7 W按照楼主介绍的方法配置后的效果:

; R; s3 V; H1 t这里要补充说一下:好像是Cubemx的BUG。图形中间件配置的配置里. g/ T1 U; }3 u3 D2 z/ R
有LTDC中,Wite小于Height时, OTM8009A_ORIENTATION_LANDSCAPE是灰色,不能选取;( m4 z/ ]4 n- l; V
不影响代码的生成,但要在代码中修改下面这个初始化定义  
8 |/ k$ G" Q- q2 w$ u3 C将:
8 ~& G( z( Q0 E/ f! qOTM8009A_Init(OTM8009A_FORMAT, OTM8009A_ORIENTATION_PORTRAIT);; E- H9 S/ P! N7 o9 C6 y! Y
修改为:
  a  r/ X  R& z3 x. iOTM8009A_Init(OTM8009A_FORMAT, OTM8009A_ORIENTATION_LANDSCAPE);
" F+ O$ V2 O; S9 H/ S7 ?5 u4 m, @
2 s3 o4 J  p! B3 i+ f5 ^/ |-----HW_Init.c文件中8 N( f- d" U' X% ~) F7 h/ g% D

; a+ v' j- A+ c/ R- A" D! J4 q" G3 n  B8 `8 c5 Y
( J6 O8 ^  Q. f. I9 A6 p
wenyangzeng 回答时间:2018-7-8 15:15:54
wolfgang2015 发表于 2018-7-8 15:08- S$ }: W- {3 }0 o1 B0 |
这里要补充说一下:好像是Cubemx的BUG。图形中间件配置的配置里) t* j# B5 I1 n; h  N# K7 T2 S
有LTDC中,Wite小于Height时, OTM8009A_ ...

/ o- T' k+ P0 v3 b9 H+ ^1 ~打开看,已经是楼主说的:
1 h$ g' `) z( G5 VOTM8009A_Init(OTM8009A_FORMAT, OTM8009A_ORIENTATION_LANDSCAPE);
wolfgang 回答时间:2018-7-8 15:46:56
wenyangzeng 发表于 2018-7-8 15:159 e& l4 Q! k+ i+ a1 ?
打开看,已经是楼主说的:$ J( @( a% y' l+ a2 v9 {' e* x) i# P
OTM8009A_Init(OTM8009A_FORMAT, OTM8009A_ORIENTATION_LANDSCAPE); ...
8 g) b- v8 `! _7 K- U/ w
你用的是769Disco?
wenyangzeng 回答时间:2018-7-8 16:06:43
本帖最后由 wenyangzeng 于 2018-7-10 11:09 编辑
6 C" ]9 l" R; ], B  D, W
wolfgang2015 发表于 2018-7-8 15:46+ i0 V# b5 ]1 O  @7 \; F$ B
你用的是769Disco?
& X2 b  m- A- X6 B, c$ c7 i' p
是的。
. k: R9 D3 v, |. c/ S  OCubeMX是4.26.0
lebment 回答时间:2018-7-8 16:50:57
我也补充一句, OTM8009A_Init(OTM8009A_FORMAT, OTM8009A_ORIENTATION_LANDSCAPE);  ) e* w; ]) p" k- g, S* P9 `
HW文件的DSI初始化中。
3 z% l5 N; U) a& ~. E1 B! K5 G+ F& j. X
4 C! Z& }- V0 `6 `1 d楼主什么时候移植DISCO触摸屏啊
wolfgang 回答时间:2018-7-8 17:44:31
lebment 发表于 2018-7-8 16:500 F4 O# M- y# u% H" `: F) _1 y
我也补充一句, OTM8009A_Init(OTM8009A_FORMAT, OTM8009A_ORIENTATION_LANDSCAPE);  
2 B$ s2 f. T; _HW文件的DSI初始化中 ...

3 ~4 n; k- L: ]; K触摸屏,最好带RTOS,裸奔容易出问题。
7 z  t) j# _  M0 Z可能会有设备优先级的问题(猜测)
andey 回答时间:2018-7-9 22:17:19
提示: 作者被禁止或删除 内容自动屏蔽
andey 回答时间:2018-7-9 22:24:30
提示: 作者被禁止或删除 内容自动屏蔽
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版