打印
[应用相关]

STM32的介绍及MDK

[复制链接]
楼主: qn7a12
手机看帖
扫描二维码
随时随地手机跟帖
61
qn7a12|  楼主 | 2023-4-30 13:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
库函数选择外设
3.5 版本的库函数在配置和选择外设的时候通过宏定义来选择的,所以我们需要配置一个全局的宏定义变量。

使用特权

评论回复
62
qn7a12|  楼主 | 2023-4-30 13:58 | 只看该作者
c/c++界面,然后填写“STM32F10X_HD,USE_STDPERIPH_DRIVER”到 Define 输入框里面


如果你用的是中容量那么STM32F10X_HD 修改为 STM32F10X_MD,小容量修改为 STM32F10X_LD. 然后点击 OK。

使用特权

评论回复
63
qn7a12|  楼主 | 2023-4-30 13:59 | 只看该作者
编译输出

编译工程,在编译之前我们首先要选择编译中间文件编译后存放目录。
方法是点击魔术棒,然后选择“Output”选项下面的“Select folder for objects…”,然后选择目录为我们上面新建的 OBJ 目录。
这里大家注意,如果我们不设置 Output 路径,那么默认的编译中间文件存放目录就是 MDK 自动生成的 Objects 目录和 Listings 目录

使用特权

评论回复
64
qn7a12|  楼主 | 2023-4-30 14:00 | 只看该作者
第二个图标是全部重新编译按钮(工程大的时候,编译耗时较久,建议少用)

使用特权

评论回复
65
qn7a12|  楼主 | 2023-4-30 14:00 | 只看该作者
编译成功

使用特权

评论回复
66
qn7a12|  楼主 | 2023-4-30 14:01 | 只看该作者
从编译信息可以看出,我们的代码占用 FLASH 大小为:
1892 字节(1556+336),所用的 SRAM 大小为:1864 个字节(32+1832)。
Code:表示程序所占用 FLASH 的大小(FLASH)。
RO-data:即 Read Only-data,表示程序定义的常量,如 const 类型(FLASH)。
RW-data:即 Read Write-data,表示已被初始化的全局变量(SRAM)
ZI-data:即 Zero Init-data,表示未被初始化的全局变量(SRAM)

使用特权

评论回复
67
qn7a12|  楼主 | 2023-4-30 14:01 | 只看该作者
跳转
Go to Definition Of‘STM32_Clock_Init’ 这个地方,然后单击左键就可以快速跳到STM32_Clock_Init函数的定义处(注意要先在Options for Target的Output选项卡里面勾选Browse Information选项,再编译,再定位,否则无法定位。

使用特权

评论回复
68
qn7a12|  楼主 | 2023-4-30 14:02 | 只看该作者
Go to Reference To‘STM32_Clock_Init’ ,这个是快速跳到该函数被声明的地方

使用特权

评论回复
69
qn7a12|  楼主 | 2023-4-30 14:02 | 只看该作者
跨文件查找功能,先双击你要找的函数/变量名(这里我们还是以系统时钟初始化函数:Stm32_Clock_Init为例),然后再点击IDE上面的!

使用特权

评论回复
70
qn7a12|  楼主 | 2023-4-30 14:02 | 只看该作者

使用特权

评论回复
71
qn7a12|  楼主 | 2023-4-30 14:03 | 只看该作者
点击Find All,MDK就会帮你找出所有含有Stm32_Clock_Init字段的文件并列出其所在位置:

使用特权

评论回复
72
qn7a12|  楼主 | 2023-4-30 14:03 | 只看该作者
flymcu使用
串口下载软件

flymcu,该软件是mcuisp的升级版本(flymcu新增对STM32F4的支持),由ALIENTEK提供部分赞助,mcuisp 作者开发,该软件可以在 www.mcuisp.com 免费下载

使用特权

评论回复
73
qn7a12|  楼主 | 2023-4-30 14:03 | 只看该作者
特别提醒:不要选择使用 RamIsp,否则,可能没法正常下载。

使用特权

评论回复
74
qn7a12|  楼主 | 2023-4-30 14:03 | 只看该作者
DTR 的低电平复位,RTS 高电平进 BootLoader
选中这个选择项选,flymcu就会通过 DTR 和 RTS 信号来控制板载的一键下载功能电路,以实现一键下载功能。这个是必要的选项(在 BOOT0 接 GND 的条件下)。

使用特权

评论回复
75
qn7a12|  楼主 | 2023-4-30 14:03 | 只看该作者



第 1 个圈,圈出了 flymcu 对一键下载电路的控制过程,其实就是控制 DTR和 RTS 电平的变化,控制 BOOT0 和 RESET,从而实现自动下载。

使用特权

评论回复
76
qn7a12|  楼主 | 2023-4-30 14:04 | 只看该作者
XCOM
串口调试助手,直接打开,设置串口即可(程序中要通过对应的usart发送内容)

使用特权

评论回复
77
qn7a12|  楼主 | 2023-4-30 14:05 | 只看该作者
新建一个工程
新建立一个文件夹为 Template
新建Project。Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹Template 之下,在这个目录下面建立子文件夹 USER。工程文件就都保存到 USER 文件夹下面。工程命名为Template,点击保存。
USER 目录除了用来放工程文件外,还用来存放主函数文件 main.c,以及其他包括system_stm32f10x.c 等等。

使用特权

评论回复
78
qn7a12|  楼主 | 2023-4-30 14:06 | 只看该作者
选择型号。战舰 STM32F103 所使用的 STM32 型号为 STM32F103ZET6,所以在这里我们选择STMicroelectronics→STM32F1Series→STM32F103→STM32F103ZET6。一定要安装对应的器件pack才会显示这些内容

使用特权

评论回复
79
qn7a12|  楼主 | 2023-4-30 14:06 | 只看该作者
框架建立完毕
打开USER
Template.uvprojx 是工程文件,非常关键,不能轻易删除。
Listings 和 Objects文件夹是 MDK 自动生成的文件夹,用于存放编译过程产生的中间文件。为了跟 MDK5.1之前版本工程兼容,我们把两个文件夹删除,我们会在下一步骤中新建一个 OBJ 文件夹,用来存放编译中间文件。\

使用特权

评论回复
80
qn7a12|  楼主 | 2023-4-30 14:06 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则