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

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

[复制链接]
Stm32McuLover 提问时间:2016-11-26 18:17 /
本文使用强大的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, 下载次数: 45)

评分

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

查看全部评分

1 收藏 4 评论21 发布时间:2016-11-26 18:17

举报

21个回答
leo121_3006061 回答时间:2016-11-27 15:29:14
哈佛祖安智 发表于 2016-11-27 15:24
估计得自己做转接板才行吧

恩,要自己做,就是不能确定是不是支持,等你深入研究了,教教我哈,我到时候考虑入手一块来玩玩
Stm32McuLover 回答时间:2016-11-27 15:07:49
leo121_3006061 发表于 2016-11-27 15:06
你看看还能带什么样的手机屏?我有个5s的屏,不知道能不能带起来

DSI接口就行
leo121_3006061 回答时间:2016-11-29 14:17:59
五哥1 发表于 2016-11-29 12:54
是苹果原装的还是山上的?

自己的,主板坏掉了,想拿来废物利用,做个触屏玩玩
jackten 回答时间:2016-11-27 00:18:46
谢谢分享         
leo121_3006061 回答时间:2016-11-27 01:22:05
那个mipi dsi你测试了吗?
5265325 回答时间:2016-11-27 02:59:42
谢谢分享
Stm32McuLover 回答时间:2016-11-27 09:34:57
leo121_3006061 发表于 2016-11-27 01:22
那个mipi dsi你测试了吗?

assssdz 回答时间:2016-11-27 11:17:29
:):):):):):):):)
peter001 回答时间:2016-11-27 14:07:18
谢谢分享
leo121_3006061 回答时间:2016-11-27 15:06:06

你看看还能带什么样的手机屏?我有个5s的屏,不知道能不能带起来
leo121_3006061 回答时间:2016-11-27 15:10:12
本帖最后由 leo121_3006061 于 2016-11-27 15:13 编辑

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

5s显示屏的接口

5s显示屏的接口
Stm32McuLover 回答时间:2016-11-27 15:24:55
leo121_3006061 发表于 2016-11-27 15:10
驱动都兼容吗?针脚不一样多啊

估计得自己做转接板才行吧
zbber 回答时间:2016-11-27 20:19:56
谢谢分享,无回帖,不论坛
5265325 回答时间:2016-11-28 00:11:42
五哥1 回答时间:2016-11-29 12:54:47
leo121_3006061 发表于 2016-11-27 15:10
驱动都兼容吗?针脚不一样多啊

是苹果原装的还是山上的?
12下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版