STMCU小助手
发布时间:2023-1-8 14:00
|
1 Keil uVision5 MDK 是什么) |" M3 c9 v# Q/ r" u. n: c, y Keil 软件是一种统称,它包含编辑器、编译器、链接器、调试器等众多工具为一体的集成开发环境(IDE)。 Keil MDK,也叫MDK-ARM,是针对【ARM内核】单片机,比如:STM32F1、 STM32F4、LPC1788、GD32等的编译器。 % |- o" n! [0 K" \6 N$ Z; R$ X5 } 2 建立一个标准库函数工程 2.1 前期准备' m, v" ?: U) Z5 f+ q+ t 在硬盘上建立一个任意的目录(例:stm32-led)中英文都可以,然后在它之下再新建 4个; n- O- x, z" D: ]4 I- Y 文件夹,具体如下:+ K9 N) y; Y E* a " A* d0 S; R$ d2 B& E/ W
2.2 建立工程% V8 ?- w/ e5 R5 }" g# q/ k2 A 打开Keil软件后就会进入一个界面 ,如图:" n5 k$ X* @# j4 U( W5 t , c7 }5 ~0 L/ k& \1 n+ k' g+ ^( A * g4 b' n' d2 g0 w% `# n" T, K
点击Project然后点击New uVision Project,就会出现一个新建工程界面,如图:5 U% O( F' h% i& D) t# B
将工程保存至 Project 文件夹下,并给这个工程起名叫stm32-led,软件会自动添加扩展名.uvproj,如上图。 ( Z$ b. }0 o* g, \4 @4 u 直接单击“保存”按钮,工程会自动保存为stm32-led.uvproj文件,下次要打开LED这个工程时,可以直接找到文件夹,双击.uvproj即可打开。 5 p0 d" U: w) s; e 保存之后会弹出一个对话框,如图:% m1 ?3 D; R5 I; _' P$ [) _ : z" i' W2 ~' ~. `' ]0 p
这个对话框是用来选择单片机的型号的,例如我们使用的STM32F1系列的单片机。# ]; c) I+ P" O/ k5 H) U4 i
& T @ D$ n3 @ C 由于MDK中只有ARM的内核选择,我们要使用STM32单片机需要自己手动添加
0 W2 C" Q2 |7 h. V: ~ 选择完成之后会有上图界面是用来在线添加库文件,我们先将其关闭后手动添加。 , z! f! R9 |6 i* V# U) C, f+ v- D 2.3 建立组文件夹+ `9 k' c2 L3 {! r6 G 在新建的工程中添加 5 个组文件夹,用来存放各种不同的文件,文件从本地建好的工程文件夹下 获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。' y# k- u: w7 P" S. c
右键 Target 1 然后点击 Add Group… 2.4 添加文件2 S1 l/ y0 ~$ Z 先把上面提到的文件从 ST 标准库中复制到工程模版对应文件夹的目录下,然后在新建的工程中添加这些文件,双击组文件夹就会出现添加文件的路径,然后选择文件即可。; d |' U; k& D6 j+ B/ a. w
2.4 配置“魔术棒”选项卡 这一步的配置工作很重要,很多人串口用不了 printf 函数,编译有问题,下载有问题,都是这个步骤的配置出了错。 (1) Target 中选中微库“Use MicroLib”,为的是在日后编写串口驱动的时候可以使用 printf 函数。 L k2 q( w/ G8 b3 a: J9 k9 \- \
# i* l- p& ?# o N (2) 在 Output 选项卡中把输出文件夹定位到我们工程目录下的“output”文件夹,如果想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上。 ! y& X2 Q- F- U8 X3 [4 E
8 J, O: a; N. A2 _8 [ (3) 在 Listing 选项卡中把输出文件夹定位到我们工程目录下的“Listing”文件夹。& A. F( c; |% s2 p G
4 P! R/ i/ O3 x# k! ?3 o (4) 在 C/C++ 选项卡中添加处理宏及编译器编译的时候查找的头文件路径。如果头文件路径添加有误,则编译的时候会报错找不到头文件。- m" y. ~- b) L# C% K4 A
在这个选项中添加宏,就相当于我们在文件中使用“#define”语句定义宏一样。在编译器中添加宏的好处就是,只要用了这个模版,就不用源文件中修改代码。 + l& x0 V% j! I$ {+ ] STM32F10X_HD 宏:为了告诉 STM32 标准库,我们使用的芯片类型是 STM32 型号是大容量的,使 STM32 标准库根据我们选定的芯片型号来配置。0 p2 G& r7 x% n- u% n' V2 F " G! p1 F9 D# V9 A USE_STDPERIPH_DRIVER 宏:为了让 stm32f10x.h 包含 stm32f10x_conf.h 这个头文件。 “Include Paths ”这里添加的是头文件的路径,如果编译的时候提示说找不到头文件,一般就是这里配置出了问题。你把头文件放到了哪个文件夹,就把该文件夹添加到这里即可。(请使用图中的方法用文件浏览器去添加路径,不要直接手打路径,容易出错)。) o1 D c6 [4 Z# f% M 6 L- U- L+ F9 R* l, `( q 2.5 建立 main 函数6 g* u7 s% O" n0 I& s/ t * k* L4 ?; K( A
敲出基本框架,编译:# \, Y$ d" @4 v# O/ f' {) X: P5 I9 Y 6 T6 p3 I( s3 z& e7 p5 ^$ _
/ G5 j$ V# q! ^/ y1 d 0 错误,0 警告,至此工程模板建立成功。 ———————————————— 版权声明:倾晨灬雨曦 6 C/ e" W9 x+ X% g6 L |
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版