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

【经验分享】STM32 keil软件常用使用技巧

[复制链接]
STMCU小助手 发布时间:2022-4-3 21:00
01. 文本美化- c' P8 [) q4 O
文本美化,主要是设置一些关键字、注释、数字等的颜色和字体。前面我们在介绍 MDK5新建工程的时候看到界面,这是 MDK 默认的设置,可以看到其中的关键字和注释等字体的颜色不是很漂亮,而 MDK 提供了我们自定义字体颜色的功能。我们可以在工具条上点击 (配置对话框)或者Edit->Configuration。
1 h! m8 e# X% d7 _# n5 u3 O! p& h; k  D
20200818175344333.png
$ M% d# y) c( H: A; D
4 ?# o' _7 ?6 k$ M2 h6 v在该对话框中,先设置 Encoding 为:Chinese GB2312(Simplified),然后设置 Tab size 为:4。以更好的支持简体中文(否则,拷贝到其他地方的时候,中文可能是一堆的问号),同时 TAB间隔设置为 4 个单位。然后,选择:Colors&Fonts 选项卡,在该选项卡内,我们就可以设置自己的代码的子体和颜色了。由于我们使用的是C语言,故在Window下面选择:C/C++ Editor Files在右边就可以看到相应的元素了。
; C* c! r5 a* t6 @+ X
4 A9 {/ b, K# v  G6 \ 20200818175354442.png
* k! t- t; k) ~4 U9 I3 d$ S1 F' Z; N8 H9 \
字体大小,则可以直接按住:ctrl+鼠标滚轮,进行放大或者缩小,或者也可以在刚刚的配置界面设置字体大小。; n1 O3 v. ^/ y7 u

5 T4 a  c$ Y9 q" X' Z用户自定义关键字没有高亮显示,解决办法是同样选择:C/C++Editor Files,在右边的 User Keywords 对话框下面输入你自己定义的关键字。
: P1 T9 {& W; ^8 A* @" \2 n% L
& y5 `! G( B: e9 Y2 l8 w/ e [C6%ZXL90F}~HJJSRP{4[YU.png + p; S0 Y) w0 S
% n1 ^# }& ^$ I# `, i9 Z& u( i
02. 语法检测和代码提示0 B+ S! |1 r  c
MDK5.30的版本,有代码提示与动态语法检测功能,使得 MDK 的编辑器越来越好用了,这里我们简单说一下如何设置,同样,点击 ,打开配置对话框,选择 Text Completion选项卡。3 d* m5 g: V2 {

4 R+ z! w$ s$ v* z @JN7WY9~7M28SKD{K_0G~8T.png * \2 `! q; v- H3 Q, A& S
; u" A4 j2 w* G8 B) Q
Strut/Class Members,用于开启结构体/类成员提示功能。
! c/ w8 x" I+ F9 s- V! o% F/ hFunction Parameters,用于开启函数参数提示功能。# B0 _; J* x. p& o2 P
Symbols after xx characters,用于开启代码提示功能,即在输入多少个字符以后,提示匹配的内容(比如函数名字、结构体名字、变量名字等),这里默认设置 3 个字符以后,就开始提示。7 t! y2 b/ E/ U3 J2 P2 `

4 J6 Y! t' A3 ?; o7 xDynamic Syntax Checking,则用于开启动态语法检测,比如编写的代码存在语法错误的时候,会在对应行前面出现X图标,如出现警告,则会出现!图标,将鼠标光标放图标上面,则会提示产生的错误/警告的原因。( s0 w8 k5 [9 T3 x0 g  U* K3 V; n
- r- m: z; K5 C# z6 y
03. 代码编辑技巧
6 f' P( _( m0 U( D3.1 TAB键的妙用

6 a* I- b5 r8 O% g2 Q首先要介绍的就是 TAB 键的使用,这个键在很多编译器里面都是用来空位的,每按一下移空几个位。如果你是经常编写程序的对这个键一定再熟悉不过了。但是 MDK 的 TAB 键和一般编译器的 TAB 键有不同的地方,和 C++的 TAB 键差不多。MDK 的 TAB 键支持块操作。也就是可以让一片代码整体右移固定的几个位,也可以通过 SHIFT+TAB 键整体左移固定的几个位。
! E: m7 e  t  k8 ^. w' L  O
' T: H& L$ ?7 l9 v* L  k选中一块然后按 TAB 键,你可以看到整块代码都跟着右移了一定距离" y: p  n& ~6 a; }' t. f8 e5 G

# f9 J1 j0 p1 G IT~PEWD(6{B(FITUJHCDAKE.png
0 h( ~/ V9 @: v  N' h
8 \% e4 s4 N* A3 i3 x: h( R, J! W7 P3.2 快速定位函数和变量的定义
. |8 n* t7 v) Y) Y/ ]2 T大家在调试代码或编写代码的时候,一定有想看看某个函数是在那个地方定义的,具体里面的内容是怎么样的,也可能想看看某个变量或数组是在哪个地方定义的等。尤其在调试代码或者看别人代码的时候,如果编译器没有快速定位的功能的时候,你只能慢慢的自己找,代码量比较少还好,如果代码量一大,那就郁闷了,有时候要花很久的时间来找这个函数到底在哪里。型号 MDK 提供了这样的快速定位的功能。只要你把光标放到这个函数/变量(xxx)的上面(xxx 为你想要查看的函数或变量的名字),然后右键,弹出如图所示的菜单栏 :! Y2 W; _& Y/ _4 w$ K
5 ^$ R7 |' I/ O
Y_XT%BT}N%[ZC%[96HDA90M.png
6 C" O5 J: x7 a/ }- D& k. {$ U0 i
温馨提示
$ d' T6 P& v) C# F" R; {) l1 e* `  v) ^9 l/ Q7 q8 p" e+ H) ~6 z( }
要先在 Options for Target 的 Output选项卡里面勾选 Browse Information 选项,再编译,再定位,否则无法定位!
4 C! k" s5 ^1 S5 P' u* {" u7 j: s& E9 {9 @# r) m) Q/ j
很多时候,我们利用 Go to Definition/ Reference 看完函数/变量的定义/申明后,又想返回之前的代码继续看,此时我们可以通过 IDE 的 按钮(Back to previous position)快速的返回之前的位置,这个按钮非常好用!4 q7 X4 a* P, c3 h: H

7 Q" m: T0 Y0 Z4 v  B0 x, N* @3.3 快速注释和快速取消注释4 o7 W! A$ B, S* l7 C$ D
在调试代码的时候,你可能会想注释某一片的代码,来看看执行的情况,MDK 提供了这样的快速注释/消注释块代码的功能。也
) S! k$ J* |6 ]6 R% g' C4 `是通过右键实现的。这个操作比较简单,就是先选中你要注释的代码区,然后右键,选择Advanced→Comment Selection 就可以了。
' l! X& S: U  K1 `* r) |
+ F. X3 B, ^& x9 `8 d这样就快速的注释掉了一片代码,而在某些时候,我们又希望这段注释的代码能快速的取消注释,MDK 也提供了这个功能。与注释类似,先选中被注释掉的地方,然后通过右键→Advanced,不过这里选择的是 Uncomment Selection。
# k+ a( |3 B: x" B/ T  K, C4 X/ ~& f/ m& @
04. 其它小技巧
1 p6 b$ N: k5 C5 u: v0 j4.1 快速打开头文件
, W: R; {4 _* S# q- i9 m
在将光标放到要打开的引用头文件上,然后右键选择 Open Document“XXX”,就可以快速打开这个文件了(XXX 是你要打开的头文件名字)。
2 ~' X7 Q; b  j& P$ b' i9 b% Q+ ~
  q: E- u, U4 }4.2 查找替换
9 @5 ?  \1 B: i这个和 WORD 等很多文档操作的替换功能是差不多的,在 MDK 里面查找替换的快捷键是“CTRL+H”。" {% v% ]# O2 x3 G( K0 K
" F! e. D) j0 z& |8 |; u1 r
4.3 跨文件查找功能
; e" K# f# n9 N$ a0 z8 o# W
先双击你要找的函数/变量名(这里我们还是以系统时钟初始化函数:Stm32_Clock_Init 为例),然后再点击 IDE 上面的 Find in Files。
2 f1 f7 M$ {4 G( `
& y$ v. b) o6 F/ M' U O~PN0`XAOXIMBSM%_IAV0]U.png ; H: K7 V6 x& O( y: L3 w% Z, l8 V  K7 \

% _6 {) ?: J" j( |0 I3 z点击 Find All,MDK 就会帮你找出所有含有GPIO_Init字段的文件并列出其所在位置
3 W! f; Z" P% ^" f7 h6 @8 F' N( |; o0 k! P. D% V2 N: L3 {
I]IDQLZ9UN$M{D`WVQ2VAC4.png % \" m  m1 E2 |

" z+ J- F5 z5 [- C- E该方法可以很方便的查找各种函数/变量,而且可以限定搜索范围(比如只查找.c 文件和.h文件等),是非常实用的一个技巧。
% \! |3 ~) e- _% z) U* Z
; G% D0 S8 E0 H" U" ~8 H. l1 u+ p# Y1 m- C8 v$ s0 Y
赞 收藏 评论0 发布时间:2022-4-3 21:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版