搜索
查看: 9200|回复: 8

[原创] STM32 GUI高阶培训之实验一、创建STM32CubeMX GUI工程BSP

[复制链接]
  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
    发表于 2018-7-23 00:04:10 | 显示全部楼层 |阅读模式
    本帖最后由 toofree 于 2018-7-24 17:12 编辑

    STM32 GUI高阶培训之实验一、创建STM32CubeMX GUI工程BSP

      摩尔吧举办的"STM32图形界面 GUI高阶实战演练"在线直播课过去几天了。由于工作及个人身体原因,一直没能发贴,现补发贴。

      实验环境:
         电脑操作系统:Win8
         STM32CubeMX版本:Version 4.25.0
         HAL库版本:STM32Cube_FW_F7_V1.11.0
         编译环境:Keil MDK V5.24.2.0


      走起……!

      打开STM32CubeMX工具,左边有两项目,MCU选择和板卡选择,我们使用板卡选项。并且在左下的进一步筛选选项中,勾上STM32F7器件,右面即可出现经过筛选后的符合要求的板卡,找到“32F769IDISCOVREY”。双击板卡名称,即可打开工程创建窗口。
    1.jpg

      选择否,不需要初始化所有外设。只需要初始化之后我们使用过的外设即可。
    2.jpg




      STM32CubeMX工程创建窗口初始状态,绿色的默认管脚是已经分配了的。
    3.jpg

      分配了的绿色管脚只有两种状态,要么是GPIO输入状态,要么是GPIO中断输入状态。也就是说,这些管脚只是预留,做输入的话,也不会影响外部电路。
      GPIO输入状态:
    4.jpg

      GPIO中断输入状态:
    5.jpg

      有两个需要用到的外设“GRAPHICS”和“DSIHOST”是灰色,不可使用状态。因为取决于其它外设,相应外设没开启的话,此功能不可用,因此显示灰色。
    6.jpg

      比如,要使用DSIHOST,则必须开启外部高速时钟HSE,因为DSIHOST必须使用HSE。
    19.jpg


      按照以下顺序,从1到8分别开启各外设,并按照相应参数设置。
    7.jpg

    8.jpg

    9.jpg

      关于SDRAM的参数设置。首先在原理图中SDRAM片选信号网络为FMC_SDNE0。
    10.jpg

      FMC_SDNE0对应MCU的管脚J4
    11.jpg

      在STM32CubeMX中,鼠标点到J4管脚后,出现SDCKE0+SDNE0,因此片选有根据。当然通过数据手册也可以找到相应管脚定义。
    12.jpg

      并行位数和Banks数,SDRAM手册中已标明。
    13.jpg


      地址数、数据位数非常清楚。
    14.jpg

      还有4位字节操作控制引脚。
    15.jpg

      在SDRAM手册中,明确指出是字符操作控制位。因此,字节使能项可以选上。
    16.jpg

      关于外设时钟设置。原理图中可以看到,外部接的是有源晶振,即应该是旁路时钟。
    17.jpg

      时钟设置,系统主时钟设置为216MHz、LCD-TFT设置为41.7MHz。时钟设置非常方便,只需要设置好具体期望时钟数值,前面的倍频、分频系数可自动适配。
    18.jpg

      DSIHOST时钟,按默认设置。


      外设添加和时钟配完成,接下拉需要配置外设。
    20.jpg

      首先配置DMA2D,把中断使能选上即可,其余默认值。
    21.jpg


      添加DSI复位输出管脚PJ15,这个不为别的,因为在原理图上就是这么接的。(之后GRAPHICS设置时会用到此管脚)
    22.jpg

      为了方便用户手动使用,可以设置信号别名。
    23.jpg


      本贴下面内容约定:有部分选项页面如果按默认设置,没有更改的话,将不截图。
      
      配置DSIHOST: 24.jpg

    25.jpg

    26.jpg

    27.jpg

    28.jpg

    29.jpg

    配置LTDC:
    30.jpg

    31.jpg

    32.jpg



      配置FMC总线:
    33.jpg

    34.jpg


      配置GRAPHICS:
    35.jpg

    36.jpg

      之后配置STemWin。
    37.jpg

      将默认选项由FrameWindow切换为Window,并点Execute,开启STemWin配置软件。
    38.jpg

      如果之间没有保存过STM32CubeMX工程的话,在执行Execute时,会弹出保存工程窗口。设置用户工程名,编译开发环境选择等。
    39.jpg

      设置只包含工程用到的库文件。按默认则是外设库全部包含,编译起来时间更长,完全是浪费时间,因此此项推荐选择“必要的库”。
    40.jpg

      重新执行Execute后,弹出STemWin设置窗口。随意添加两个按钮。
    41.jpg

      还可以再添加一点点文本。
    42.jpg

      文本内容,及按键上的文字都可以更改,这里只改了文本内容、字体及颜色。
    43.jpg

      保存STemWin设置
    44.jpg

      STM32CubeMX生成Keil工程
    45.jpg

      确定,打开Keil工程。
    46.jpg

      编译工程……。时间比较长,耐心等待
    47.jpg

      编译通过,下载程序到目标开发板。手动按复位按钮,或重新上电,程序将自动运行。
    48.jpg

      运行程序后,显示效果如下图:
    QQ图片20180722234257.jpg

    工程打包:(删除了Core、Drivers文件夹内的文件,否则工程太大)


    TEST_STM32F769_DISCO.rar (9.95 MB, 下载次数: 49)
    回复

    使用道具 举报

    该用户从未签到

    227

    主题

    828

    帖子

    32

    蝴蝶豆

    金牌会员

    最后登录
    2021-1-15
    发表于 2018-7-23 11:49:27 | 显示全部楼层
    又学一招了,多谢多谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    100

    主题

    1255

    帖子

    191

    蝴蝶豆

    论坛元老

    最后登录
    2024-1-26
    发表于 2018-7-23 11:51:13 | 显示全部楼层
    强大                 
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    227

    主题

    828

    帖子

    32

    蝴蝶豆

    金牌会员

    最后登录
    2021-1-15
    发表于 2018-7-23 22:36:49 | 显示全部楼层
    下载后解压,编译工程出现错误 ????

    貌似提示找不到 main.h  ??????????
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
     楼主| 发表于 2018-7-23 22:40:16 | 显示全部楼层
    hpdell 发表于 2018-7-23 22:36
    下载后解压,编译工程出现错误 ????

    貌似提示找不到 main.h  ??????????

    少库着呢,自己用STM32CubeMX生成一个F769的工程,把Core、Drivers两个文件夹全部复制过来,替换换我工程的两个文件夹即可。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2018-9-6
    发表于 2018-8-29 20:58:45 | 显示全部楼层
    O(∩_∩)O谢谢~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    41

    主题

    332

    帖子

    42

    蝴蝶豆

    金牌会员

    最后登录
    2021-4-2
    发表于 2018-9-24 18:08:16 | 显示全部楼层
    为什么我添加一个图像就花屏了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    0

    蝴蝶豆

    中级会员

    最后登录
    2023-3-16
    发表于 2020-9-1 09:56:05 | 显示全部楼层
    按照这个步骤测试成功了啊,多谢多谢!但是我想不用SDRAM  (产品体积所限)  应该怎么做呢?老哥能不能抽时间出个配置的帖子?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    39

    帖子

    0

    蝴蝶豆

    初级会员

    最后登录
    2021-1-29
    发表于 2020-9-18 17:56:07 | 显示全部楼层
    不错不错,看看,学习下
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-27 05:18 , Processed in 0.209266 second(s), 45 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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