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

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

[复制链接]
STMCU小助手 发布时间:2022-6-10 18:52
01. 文本美化
) V; R' d5 ^  O; X5 e8 J2 j文本美化,主要是设置一些关键字、注释、数字等的颜色和字体。前面我们在介绍 MDK5新建工程的时候看到界面,这是 MDK 默认的设置,可以看到其中的关键字和注释等字体的颜色不是很漂亮,而 MDK 提供了我们自定义字体颜色的功能。我们可以在工具条上点击 (配置对话框)或者Edit->Configuration。: T: q0 U9 j* }4 J9 ~1 L) \
( ]8 i% D3 E6 @( t/ r4 f/ {, P$ }
C4_GP4X6XOJ(8G{RXM@SEJH.png
2 }: z" o2 J# [( o
- u, P% j6 ?2 J; A7 b

( B/ N( k7 I& l/ M: s/ n7 r在该对话框中,先设置 Encoding 为:Chinese GB2312(Simplified),然后设置 Tab size 为:4。以更好的支持简体中文(否则,拷贝到其他地方的时候,中文可能是一堆的问号),同时 TAB间隔设置为 4 个单位。然后,选择:Colors&Fonts 选项卡,在该选项卡内,我们就可以设置自己的代码的子体和颜色了。由于我们使用的是C语言,故在Window下面选择:C/C++ Editor Files在右边就可以看到相应的元素了。: t5 h4 J* F; T/ Y+ ~* f1 _0 ^1 @

8 F$ Z, I6 Y: v* a* @5 L8 o
Y$)OTIY_S4~GIYQAX5DF){F.png
/ W; X4 Q) ]( B( c. K6 `1 m
/ H; G) M( M% O
3 C5 l( k9 l7 b
字体大小,则可以直接按住:ctrl+鼠标滚轮,进行放大或者缩小,或者也可以在刚刚的配置界面设置字体大小。, D& U, i. V4 j

+ d5 r! {- F! G- j
+ {9 [4 ]2 I2 @8 |+ A
用户自定义关键字没有高亮显示,解决办法是同样选择:C/C++Editor Files,在右边的 User Keywords 对话框下面输入你自己定义的关键字。5 O1 d7 b# g1 h) U2 |  S( w' {

- D! V' o, |! k# [1 o
170Q7XH@W9C35P[2X)$ZL)Y.png * ^" _0 I8 Q" f, C, d

2 N& I+ n. x8 x, E

5 o, ]8 ]; i0 a! m- w, ^, b+ f02. 语法检测和代码提示3 [% m  U" n# p. g7 g1 @8 h
MDK5.30的版本,有代码提示与动态语法检测功能,使得 MDK 的编辑器越来越好用了,这里我们简单说一下如何设置,同样,点击 ,打开配置对话框,选择 Text Completion选项卡。
9 \. S* _3 d3 C/ w+ S
" M/ y: r3 f$ _7 o
4QHI4MG4VN5%3KEBD%YHE@J.png ' |: @1 y/ x4 n8 a9 y- E& T

1 W" H! K" a7 ^8 k

& o- u! @, F& `& ~1 A8 M3 BStrut/Class Members,用于开启结构体/类成员提示功能。
  w  m0 x+ q. j' BFunction Parameters,用于开启函数参数提示功能。
+ k# P( ?+ c/ K* ^. ESymbols after xx characters,用于开启代码提示功能,即在输入多少个字符以后,提示匹配的内容(比如函数名字、结构体名字、变量名字等),这里默认设置 3 个字符以后,就开始提示。
1 I: A5 L5 S' S$ R+ I

+ D& C, j! V0 w. |Dynamic Syntax Checking,则用于开启动态语法检测,比如编写的代码存在语法错误的时候,会在对应行前面出现X图标,如出现警告,则会出现!图标,将鼠标光标放图标上面,则会提示产生的错误/警告的原因。
8 I+ ?. `7 r+ i/ o' A
( w' d- s) d# o1 E" |% O" e

# \; f) h0 Y: f+ H03. 代码编辑技巧
6 f: M3 G6 h% b+ i" h3.1 TAB键的妙用

6 J1 g% q/ ~; l4 T! `1 f8 B. n8 c首先要介绍的就是 TAB 键的使用,这个键在很多编译器里面都是用来空位的,每按一下移空几个位。如果你是经常编写程序的对这个键一定再熟悉不过了。但是 MDK 的 TAB 键和一般编译器的 TAB 键有不同的地方,和 C++的 TAB 键差不多。MDK 的 TAB 键支持块操作。也就是可以让一片代码整体右移固定的几个位,也可以通过 SHIFT+TAB 键整体左移固定的几个位。
, U' i% j, b  n: w7 h' A& k( v

$ z) l% V9 e; g4 @/ a( g, I: {% v选中一块然后按 TAB 键,你可以看到整块代码都跟着右移了一定距离
0 D7 D2 J3 |7 Z1 o) ~
* {9 i, o- Y" S% I' ~  Z
L}1IL}$WSJ{M]7CR`QNP}SH.png
1 z+ S' d8 @6 d3 j  v. m  W. J# P4 W$ c: l( r- m7 z' I

# X; c8 g: ^# E8 f# j/ |3.2 快速定位函数和变量的定义& Y' o1 W* i2 S+ {. D% ~+ R2 r
大家在调试代码或编写代码的时候,一定有想看看某个函数是在那个地方定义的,具体里面的内容是怎么样的,也可能想看看某个变量或数组是在哪个地方定义的等。尤其在调试代码或者看别人代码的时候,如果编译器没有快速定位的功能的时候,你只能慢慢的自己找,代码量比较少还好,如果代码量一大,那就郁闷了,有时候要花很久的时间来找这个函数到底在哪里。型号 MDK 提供了这样的快速定位的功能。只要你把光标放到这个函数/变量(xxx)的上面(xxx 为你想要查看的函数或变量的名字),然后右键,弹出如图所示的菜单栏 :
$ j+ t; j9 p, C3 W* L4 M9 G) R4 Z; S/ F9 W8 q0 h3 {
6YN@7Z{_XZTPQZ8G93F)@TU.png
: F1 z4 a) o9 b) u  E2 E2 Z/ E4 M: a9 R. y5 q

4 N0 ~+ y: ]3 r$ q, p8 Z+ R温馨提示
% Z( ~4 A1 ^# Y4 o$ V, ^% m+ w* J- G3 }* {$ b; Z& u& _0 T: a
要先在 Options for Target 的 Output选项卡里面勾选 Browse Information 选项,再编译,再定位,否则无法定位!( D! }, @+ u" g% @! A# o4 G( X: R6 U
8 g0 S: m# l# j) M1 W( o7 K
很多时候,我们利用 Go to Definition/ Reference 看完函数/变量的定义/申明后,又想返回之前的代码继续看,此时我们可以通过 IDE 的 按钮(Back to previous position)快速的返回之前的位置,这个按钮非常好用!
7 G- }; M5 H* Y4 T; ~, W9 ~7 C- Z4 x+ v# {- M+ W- d

" C) |6 H7 N  ^, m3 U; L3 K1 A3.3 快速注释和快速取消注释
, c- M4 B2 T4 A
在调试代码的时候,你可能会想注释某一片的代码,来看看执行的情况,MDK 提供了这样的快速注释/消注释块代码的功能。也
  u6 @: k4 V- Y2 [. O, F# m/ D是通过右键实现的。这个操作比较简单,就是先选中你要注释的代码区,然后右键,选择Advanced→Comment Selection 就可以了。1 d( p4 U3 f& f' P  y5 c
# O' C8 }/ E  @) i. r

+ Y# ?8 ]0 N& c/ H这样就快速的注释掉了一片代码,而在某些时候,我们又希望这段注释的代码能快速的取消注释,MDK 也提供了这个功能。与注释类似,先选中被注释掉的地方,然后通过右键→Advanced,不过这里选择的是 Uncomment Selection。
9 {6 y$ F7 W9 Q7 K/ ^$ t' j' S  S) d# A) N, @
7 U& H" N" k: E& F% U
04. 其它小技巧
4 E5 G1 L$ t( u6 p% W1 y( u9 T4.1 快速打开头文件

5 f5 i' G) J! y; m在将光标放到要打开的引用头文件上,然后右键选择 Open Document“XXX”,就可以快速打开这个文件了(XXX 是你要打开的头文件名字)。
) p7 k. a* Z9 M2 q
- v4 m2 d1 V6 H& w$ @9 S

0 @0 G$ D: M( Q/ G+ D* y7 f6 e4.2 查找替换

% `/ V2 L6 s8 h" H( @" g; S这个和 WORD 等很多文档操作的替换功能是差不多的,在 MDK 里面查找替换的快捷键是“CTRL+H”。
  L6 W: W5 [  X, K
5 y/ H  s$ O* `

2 R+ L: m% T; K/ r" e4.3 跨文件查找功能
1 ?: J$ b: e' |0 _先双击你要找的函数/变量名(这里我们还是以系统时钟初始化函数:Stm32_Clock_Init 为例),然后再点击 IDE 上面的 Find in Files。
5 j5 i# J4 M" [# n9 K' Q( h& p' b  O$ h
H)2FU42IL1(@YP{YU5)~4TX.png
' i6 p9 y: A! d* T+ D8 z1 @1 Q) I
* [4 F) p0 w8 o+ C2 u! T6 V0 Q
& Y8 n1 m0 W" O  t9 }- u% \
点击 Find All,MDK 就会帮你找出所有含有GPIO_Init字段的文件并列出其所在位置' M+ i9 r) b' Q" f
* s$ C0 G8 o( h/ G9 O4 ^9 X
T@U}[]9[3YARG}}BYUD7VZ1.png
( Y5 m1 j6 [4 A5 x/ u% }9 ]. I8 B- x6 E
( G% e. k" ]+ J9 A
该方法可以很方便的查找各种函数/变量,而且可以限定搜索范围(比如只查找.c 文件和.h文件等),是非常实用的一个技巧。
1 m7 H' R) f4 F+ S3 c8 e1 S5 [  o, p; }
* y- `! Y* b, b
收藏 评论0 发布时间:2022-6-10 18:52

举报

0个回答

所属标签

相似分享

官网相关资源

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