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

查看: 5324|回复: 21

[STM32F769-DISC] STM32F769I-DISCO评测之(六)使用STM32CubeMX快速开发应用 ...

[复制链接]

64

主题

744

回帖

23

蝴蝶豆

实习版主

最后登录
2020-12-8
发表于 2016-11-26 18:17:44 | 显示全部楼层 |阅读模式
本文使用强大的STM32CubeMX(STM32官网)配置STM32外设,快速生成工程模板,演示了LED闪烁和串口例程。
一、资源分配

STM32F769I-DISCO板载2颗用户LED,LD1位红色,LD2为绿色,如下:
1-LED原理图1.png
2-LED原理图2.png
根据原理图,LD1连接到STM32F769NIH6的PJ13,LD2连接到了PJ5,GPIO输出高电平即可点亮对应的LED。
3-虚拟串口原理图2.png
4-虚拟串口原理图1.png
板载STLINK具有虚拟串口功能,连接到了STM32F769NIH6的PA9和PA10,查阅数据手册,该GPIO可复用为UART1。

一、STM32CubeMX配置步骤


Step1:打开STM32CubeMX,新建工程,选择MCU型号为STM32F769NIH6;
5-STM32CubeMX配置1-选型.png

Step2:选择时钟源,根据原理图,STM32F769I-DISCO有外部有源晶振25MHz,因此时钟源需要选择BYPASS Clock Source,并开启SW仿真调试;
6-有源晶振原理图.png
7-STM32CubeMX配置2-晶振.png
Step3:这里串口一定要是PA9和PA10,UART1,直接使能USART1会发现引脚不是PA9和PA10,需要先在引脚PA9、PA10上选择串口功能,然后在左边外设栏使串口1为异步模式;
8-STM32CubeMX配置3-串口.png
Step4:配置LED引脚为输出模式,可在搜索框输入引脚名以便快速定位,我们需要配置PJ5和PJ13;
9-STM32CubeMX配置4-LED.png
Step5:把系统时钟配置为最大216MHz;
10-STM32CubeMX配置5-时钟系统.png
Step6:配置串口参数为115200 b/s, 8 bits data, no parity, 1 stopbit, no flow control
11-STM32CubeMX配置6-串口参数.png
Step7:给LED引脚添加用户标签;
12-STM32CubeMX配置7-LED参数.png


Step8: STM32F7 集成了 Cortex®-M7,其特点是具有 1 级缓存 ( L1- 缓存),该缓存分为两个缓存:数据缓存 ( D- 缓存)和指令缓存( I- 缓存),这样可以实现具有最佳性能的哈佛架构。这些缓存使得即使在高频率下也可以达到零等待状态。默认情况下,指令和数据缓存是禁用的,我们这里把它开启(本例程不开启它也可以)。
13-STM32CubeMX配置8-M7可选.png
Step9:最后点击菜单栏的齿轮图标即可生成工程,旁边的按钮用于生成PDF配置报告;
14-STM32CubeMX配置9-生成工程按钮.png
填写工程名字、保存路径、IDE(这里选Keil);
15-STM32CubeMX配置10-工程路径等.png
在Code Generator选项卡勾选下“为每个外设生成单个的.c和.h文件”以方便工程文件管理;
17-STM32CubeMX配置11-生成单独c和h文件.png
一、用户软件
生成工程后,使用Keil打开。
要想使用C标准输出函数printf需要把它重映射到串口1,在uart.c文件添加如下代码即可,另外需要注意下Keil选项卡需勾选微库(默认是勾选了的);
#ifdef__GNUC__
/* WithGCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
set to'Yes') calls __io_putchar() */
#definePUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#definePUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /*__GNUC__ */
/**
* @briefRetargets the C library printf function to the USART.
* @paramNone
* @retvalNone
*/
PUTCHAR_PROTOTYPE
{
/* Placeyour implementation of fputc here */
/* e.g.write a character to the EVAL_COM1 and Loop until the end of transmission */
HAL_UART_Transmit(&huart1,(uint8_t *)&ch, 1, 0xFFFF);
returnch;

}
16-Keil配置1-串口重映射.png
18-串口勾选微库.png
在mxconstants.h文件添加LED控制宏定义;
19-Keil配置2-LED宏定义.png
最后在main.c文件编写测试代码,翻转LED1-打印字符串-延时500ms-翻转LED2;
20-Keil配置3-main用户代码.png
编译,烧录好后,打开串口调试助手,设置对应参数,按一下板卡上的黑色复位键,程序开始运行;
21-运行截图.png

总结:使用STM32CUBEMX可以十分方便的配置外设和IO分配,但牺牲,呵呵呵。
源码: STM32F769I-DISCO-Demo-NoneOS-LED&UART.rar (8.68 MB, 下载次数: 43)

评分

参与人数 1ST金币 +20 收起 理由
zero99 + 20

查看全部评分

回复

使用道具 举报

10

主题

693

回帖

0

蝴蝶豆

金牌会员

最后登录
2018-6-15
发表于 2016-11-27 00:18:46 | 显示全部楼层
谢谢分享         
回复 支持 反对

使用道具 举报

6

主题

1026

回帖

7

蝴蝶豆

金牌会员

最后登录
2020-11-25
发表于 2016-11-27 01:22:05 | 显示全部楼层
那个mipi dsi你测试了吗?
回复 支持 反对

使用道具 举报

11

主题

449

回帖

0

蝴蝶豆

金牌会员

最后登录
2018-12-18
发表于 2016-11-27 02:59:42 来自手机 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

64

主题

744

回帖

23

蝴蝶豆

实习版主

最后登录
2020-12-8
 楼主| 发表于 2016-11-27 09:34:57 来自手机 | 显示全部楼层
leo121_3006061 发表于 2016-11-27 01:22
那个mipi dsi你测试了吗?

回复 支持 反对

使用道具 举报

13

主题

695

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-6-7
发表于 2016-11-27 11:17:29 | 显示全部楼层
:):):):):):):):)
回复 支持 反对

使用道具 举报

11

主题

1139

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-10
发表于 2016-11-27 14:07:18 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

6

主题

1026

回帖

7

蝴蝶豆

金牌会员

最后登录
2020-11-25
发表于 2016-11-27 15:06:06 | 显示全部楼层

你看看还能带什么样的手机屏?我有个5s的屏,不知道能不能带起来
回复 支持 反对

使用道具 举报

64

主题

744

回帖

23

蝴蝶豆

实习版主

最后登录
2020-12-8
 楼主| 发表于 2016-11-27 15:07:49 | 显示全部楼层
leo121_3006061 发表于 2016-11-27 15:06
你看看还能带什么样的手机屏?我有个5s的屏,不知道能不能带起来

DSI接口就行
回复 支持 反对

使用道具 举报

6

主题

1026

回帖

7

蝴蝶豆

金牌会员

最后登录
2020-11-25
发表于 2016-11-27 15:10:12 | 显示全部楼层
本帖最后由 leo121_3006061 于 2016-11-27 15:13 编辑

驱动都兼容吗?针脚不一样多啊

5s显示屏的接口

5s显示屏的接口
回复 支持 反对

使用道具 举报

关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版