搜索
查看: 6334|回复: 12

[原创] CubeMX配置STM32F769I GUI过程出现的BUG及解决方法

[复制链接]

该用户从未签到

74

主题

3420

帖子

82

蝴蝶豆

社区小助手

最后登录
2023-11-12
发表于 2018-7-9 13:42:44 | 显示全部楼层 |阅读模式
本帖最后由 wenyangzeng 于 2018-7-10 20:20 编辑

CubeMX配置STM32F769I GUI过程出现的BUG及解决方法




    按照帖子介绍的方法,很快就配置完成了STM32F769I DiscvoeryGUI工程。可能所用的CubeMX4.26.0版本与版主的不同,编译下载后运行结果如图1,图像显示不正常。

1.png
                             图1

这个demo背景色是黑色,从图中可以看到H方向水平扫描大概只扫描了屏幕的一半400DPI,好像是从下往上扫描而不是从左往右扫描。右边的彩条是复位时留下了的。

针对400DPI进行分析

步骤1
尝试将MX_LCD_Init()函数中的
hltdc.Init.AccumulatedActiveW=402改成802
hltdc.Init.TotalWidth=403改成 803;参见图6

编译运行后结果如下图2:


2.png
                                图2

H方向拉长了,W方向没有改变,问题还是没有解决。

步骤2
回到CubeMX

3.png

                        图3


修改CubeMXLTDC Parameter参数配置将Activa width400修改成800

4.png
                                  图4

重新生成工程,编译下载运行,结果见图5:

5.png
                             图5

W方向扫描正常了,但H垂直方向坐标明显有误。

先小结一下:
为什么在MDK中直接修改函数参数Activa width(步骤1),改变W方向扫描无效?
而在CubeMX中(步骤2)修改Activa width生成新工程有效,改变W方向扫描有效,但H方向坐标出错?
判断:可能是CubeMX的一个BUG。大概从CubeMX中更新工程时不只更新了MX_LCD_Init()函数的内容,应该还有某个文件也更新了,但更新对象错了,可能是W坐标数据更新到H坐标数据去了

这个BUG只能靠ST专家来解决了,我们只能用修补的办法来应急使用:
既然我们从CubeMX中(步骤2)修改了ActiveWidth=800,W方向扫描就正常了,H方向扫描却错误了。
而我们在步骤1修改的:hltdc.Init.AccumulatedActiveW   和  hltdc.Init.TotalWidth 的参数可以影响H方向。

修改步骤(2步)
1、先在CubeMX中修改:Activa width=800,(图4)
生成新工程(一定要生成新工程!!)。
2、然后在MDK下修改修改MX_LCD_Init()

  hltdc.Init.AccumulatedActiveW = 402;  //(原802)
  hltdc.Init.TotalWidth = 403;                 //(原803)

图6改成图7的参数:

6.png
                                图6



7.png

                               图7

编译、下载、运行:

OK!

8.png
                          图8

使用不同版本CubeMX的朋友也要试试哦!





回复

使用道具 举报

该用户从未签到

74

主题

1442

帖子

194

蝴蝶豆

版主

最后登录
2023-10-26
发表于 2018-7-9 21:55:37 | 显示全部楼层
wenyangzeng 发表于 2018-7-9 16:07
CubeMX按照图4修改后生成新的工程,图4 里的802、803在MDK里显示在图6的参数中,不改成图7就显示图5的图像 ...

你图3 原本就是402、403,按照图4修改为802、803后,
后来又按照图6、图7修改会402、403
这怎么在围绕打转呢?这个402、403修改来修改去,

其实你没说到问题的重点,看我原贴后边的 补充说明
针对图一,最终还是
OTM8009A_ORIENTATION_PORTRAIT 和 OTM8009A_ORIENTATION_LANDSCAPE 的问题


回复 支持 1 反对 1

使用道具 举报

该用户从未签到

74

主题

1442

帖子

194

蝴蝶豆

版主

最后登录
2023-10-26
发表于 2018-7-9 14:51:28 | 显示全部楼层
1.jpg
应该是某些参数没设置对造成,不过我看你的内容,之前不就是402、403?


我的CubeMX与你的事一样的。 4.26
回复 支持 反对

使用道具 举报

该用户从未签到

74

主题

1442

帖子

194

蝴蝶豆

版主

最后登录
2023-10-26
发表于 2018-7-9 14:53:18 | 显示全部楼层
不过还是值得恭喜,开启了 MIPI DSI学习的大门
回复 支持 反对

使用道具 举报

该用户从未签到

74

主题

3420

帖子

82

蝴蝶豆

社区小助手

最后登录
2023-11-12
 楼主| 发表于 2018-7-9 15:04:51 | 显示全部楼层
wolfgang2015 发表于 2018-7-9 14:51
应该是某些参数没设置对造成,不过我看你的内容,之前不就是402、403?

Active=400时,底下2个是402、403 ,显示不正常
Active=800时是802,803
回复 支持 反对

使用道具 举报

该用户从未签到

74

主题

1442

帖子

194

蝴蝶豆

版主

最后登录
2023-10-26
发表于 2018-7-9 15:31:23 | 显示全部楼层
wenyangzeng 发表于 2018-7-9 15:04
Active=400时,底下2个是402、403 ,显示不正常
Active=800时是802,803

我是说“图6改成图7的参数”这里
这不是也配置成为:402、403
回复 支持 反对

使用道具 举报

该用户从未签到

74

主题

3420

帖子

82

蝴蝶豆

社区小助手

最后登录
2023-11-12
 楼主| 发表于 2018-7-9 16:07:46 | 显示全部楼层
本帖最后由 wenyangzeng 于 2018-7-9 16:14 编辑
wolfgang2015 发表于 2018-7-9 15:31
我是说“图6改成图7的参数”这里
这不是也配置成为:402、403

CubeMX按照图4修改后生成新的工程,图4 里的802、803在MDK里显示在图6的参数中,不改成图7就显示图5的图像了。
回复 支持 反对

使用道具 举报

该用户从未签到

74

主题

3420

帖子

82

蝴蝶豆

社区小助手

最后登录
2023-11-12
 楼主| 发表于 2018-7-9 22:17:09 | 显示全部楼层
本帖最后由 wenyangzeng 于 2018-7-9 22:19 编辑
wolfgang2015 发表于 2018-7-9 21:55
你图3 原本就是402、403,按照图4修改为802、803后,
后来又按照图6、图7修改会402、403
这怎么在围绕打 ...

版主没有理解我的思路,那个402、403必须是在cubeMX里修改Active=800,得到802和803.生成工程后,在MDK里改回402和403.没有打转。cubeMX里不修改,没有生成新工程,在MDK里改没有用的。

回复 支持 反对

使用道具 举报

该用户从未签到

74

主题

1442

帖子

194

蝴蝶豆

版主

最后登录
2023-10-26
发表于 2018-7-9 22:42:26 | 显示全部楼层
wenyangzeng 发表于 2018-7-9 22:17
版主没有理解我的思路,那个402、403必须是在cubeMX里修改Active=800,得到802和803.生成工程后,在MDK里 ...

对比一下active=800 和active=400 其他代码呢?看看生成的代码还有什么差别~
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-2-6 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    1182

    主题

    4967

    帖子

    1

    蝴蝶豆

    论坛元老

    最后登录
    2020-3-17
    发表于 2018-7-16 17:12:42 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-20 21:50 , Processed in 0.206521 second(s), 47 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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