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

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

[复制链接]
STMCU小助手 发布时间:2022-4-3 21:00
01. 文本美化
3 }; }8 Z; n4 Q( |0 |4 u6 f文本美化,主要是设置一些关键字、注释、数字等的颜色和字体。前面我们在介绍 MDK5新建工程的时候看到界面,这是 MDK 默认的设置,可以看到其中的关键字和注释等字体的颜色不是很漂亮,而 MDK 提供了我们自定义字体颜色的功能。我们可以在工具条上点击 (配置对话框)或者Edit->Configuration。
0 I+ V- E3 v" T. i6 \4 |
1 W( ]* a, |. ^7 M- } 20200818175344333.png 9 g2 u/ k0 S) K& f
$ l0 u& o5 M4 e* ?% T8 Q
在该对话框中,先设置 Encoding 为:Chinese GB2312(Simplified),然后设置 Tab size 为:4。以更好的支持简体中文(否则,拷贝到其他地方的时候,中文可能是一堆的问号),同时 TAB间隔设置为 4 个单位。然后,选择:Colors&Fonts 选项卡,在该选项卡内,我们就可以设置自己的代码的子体和颜色了。由于我们使用的是C语言,故在Window下面选择:C/C++ Editor Files在右边就可以看到相应的元素了。
9 }8 `" G5 d0 S& I2 o/ \& D, C# K/ {  T6 Y5 f( c3 ^
20200818175354442.png " _2 p* {% [8 j9 ?$ r/ w
8 B( C  _8 k6 F9 j+ j  _0 T
字体大小,则可以直接按住:ctrl+鼠标滚轮,进行放大或者缩小,或者也可以在刚刚的配置界面设置字体大小。3 P! K( k( F5 @

1 g- b* v: f9 W, e/ w) i用户自定义关键字没有高亮显示,解决办法是同样选择:C/C++Editor Files,在右边的 User Keywords 对话框下面输入你自己定义的关键字。' P- q9 h# o. \$ S, z
7 I) d; X! i+ H) U3 F8 X* u0 w
[C6%ZXL90F}~HJJSRP{4[YU.png ' ^& ^4 b2 e6 b+ m0 H# q. l
& P) n6 e+ Y: Z4 U# O
02. 语法检测和代码提示
9 d5 x3 t4 j# \3 N; kMDK5.30的版本,有代码提示与动态语法检测功能,使得 MDK 的编辑器越来越好用了,这里我们简单说一下如何设置,同样,点击 ,打开配置对话框,选择 Text Completion选项卡。
& L# _  ^- H' m( M8 i7 t! p/ M0 \9 d! x1 w) P) _
@JN7WY9~7M28SKD{K_0G~8T.png
' i3 |5 X4 X& T0 W! @- d( T, i- C' [7 h
Strut/Class Members,用于开启结构体/类成员提示功能。" E" X+ v2 P/ n4 e  W5 d  _
Function Parameters,用于开启函数参数提示功能。
2 h4 _! L1 t* J: l$ v: s9 jSymbols after xx characters,用于开启代码提示功能,即在输入多少个字符以后,提示匹配的内容(比如函数名字、结构体名字、变量名字等),这里默认设置 3 个字符以后,就开始提示。$ N) m9 Z5 o( E" k& [9 I8 S
8 O( @  X+ f+ L
Dynamic Syntax Checking,则用于开启动态语法检测,比如编写的代码存在语法错误的时候,会在对应行前面出现X图标,如出现警告,则会出现!图标,将鼠标光标放图标上面,则会提示产生的错误/警告的原因。- q  X8 r% G" l+ x) y
6 H! r/ z; Z' N4 @
03. 代码编辑技巧' O% k8 `+ W. i! g$ p4 r1 K. x
3.1 TAB键的妙用

; w. u1 S* S/ s. e# @首先要介绍的就是 TAB 键的使用,这个键在很多编译器里面都是用来空位的,每按一下移空几个位。如果你是经常编写程序的对这个键一定再熟悉不过了。但是 MDK 的 TAB 键和一般编译器的 TAB 键有不同的地方,和 C++的 TAB 键差不多。MDK 的 TAB 键支持块操作。也就是可以让一片代码整体右移固定的几个位,也可以通过 SHIFT+TAB 键整体左移固定的几个位。
* R  q( W! {8 n  e! f1 I
+ d0 v1 S1 n5 o8 P1 e$ k选中一块然后按 TAB 键,你可以看到整块代码都跟着右移了一定距离! u- `: z* H+ L1 L

8 a3 X+ u; |( E" m" g/ G3 O% S; M0 H$ s IT~PEWD(6{B(FITUJHCDAKE.png
* ~4 v" P; k4 r, k. O  _& J3 r2 c
3.2 快速定位函数和变量的定义( P5 F4 U$ b; N* J) \% _  z6 g
大家在调试代码或编写代码的时候,一定有想看看某个函数是在那个地方定义的,具体里面的内容是怎么样的,也可能想看看某个变量或数组是在哪个地方定义的等。尤其在调试代码或者看别人代码的时候,如果编译器没有快速定位的功能的时候,你只能慢慢的自己找,代码量比较少还好,如果代码量一大,那就郁闷了,有时候要花很久的时间来找这个函数到底在哪里。型号 MDK 提供了这样的快速定位的功能。只要你把光标放到这个函数/变量(xxx)的上面(xxx 为你想要查看的函数或变量的名字),然后右键,弹出如图所示的菜单栏 :' g4 }- v7 B9 e) i

% w! I' L0 [) K% n Y_XT%BT}N%[ZC%[96HDA90M.png
# Q9 a- L: O! Z3 `5 T, W7 n6 [6 c' x7 b9 s6 r1 p" c) E# M  B
温馨提示
0 g5 E2 O. Z! ]( g% L1 ?
2 S/ Z+ k% g0 o4 B要先在 Options for Target 的 Output选项卡里面勾选 Browse Information 选项,再编译,再定位,否则无法定位!5 F; @/ K# p0 X

' P5 ?) U- `/ F6 f, _很多时候,我们利用 Go to Definition/ Reference 看完函数/变量的定义/申明后,又想返回之前的代码继续看,此时我们可以通过 IDE 的 按钮(Back to previous position)快速的返回之前的位置,这个按钮非常好用!0 Y; k5 M/ @. {* m2 b/ h

. A1 ^2 U, s* b' E3.3 快速注释和快速取消注释
9 R) f8 o, Q2 I  x. `6 d8 V在调试代码的时候,你可能会想注释某一片的代码,来看看执行的情况,MDK 提供了这样的快速注释/消注释块代码的功能。也* p1 o' d0 Q  T; H% t* ]
是通过右键实现的。这个操作比较简单,就是先选中你要注释的代码区,然后右键,选择Advanced→Comment Selection 就可以了。1 |- ?! {8 I: C/ H" o# b8 f
* D$ F3 y  M, C5 \3 x' e
这样就快速的注释掉了一片代码,而在某些时候,我们又希望这段注释的代码能快速的取消注释,MDK 也提供了这个功能。与注释类似,先选中被注释掉的地方,然后通过右键→Advanced,不过这里选择的是 Uncomment Selection。
7 G1 D" a1 V4 N
; P7 Q8 U2 N5 W04. 其它小技巧
2 _. _; S# S1 r- N3 E+ d4.1 快速打开头文件

# N' G  j8 q* A5 s4 b3 V在将光标放到要打开的引用头文件上,然后右键选择 Open Document“XXX”,就可以快速打开这个文件了(XXX 是你要打开的头文件名字)。
$ ~3 F7 A0 `# [/ }/ o$ x0 G
) \% U& M1 z) s2 ?' g; _4.2 查找替换) K- Y6 U- g( j2 _7 }7 ^! Y
这个和 WORD 等很多文档操作的替换功能是差不多的,在 MDK 里面查找替换的快捷键是“CTRL+H”。/ _; f4 P3 g5 j  b( N
3 Z2 n2 H3 E9 s1 ?5 i" \+ `
4.3 跨文件查找功能
$ [$ D) ?2 C5 r( L
先双击你要找的函数/变量名(这里我们还是以系统时钟初始化函数:Stm32_Clock_Init 为例),然后再点击 IDE 上面的 Find in Files。& }1 [% v% N! [/ S# y
& f% x3 {! Q, \( [. D, K, ?
O~PN0`XAOXIMBSM%_IAV0]U.png
& y* m2 P; q+ G' Z3 s" b8 O! z
" u6 I  @+ k+ S点击 Find All,MDK 就会帮你找出所有含有GPIO_Init字段的文件并列出其所在位置
& m: D' }4 C* H" G0 }5 a0 ?
) G3 t9 d7 p' l/ Y4 R5 p; f3 r- H6 A+ b I]IDQLZ9UN$M{D`WVQ2VAC4.png
" l) ?- ?% G3 s; o# i7 ^9 k: l; i1 z0 P
该方法可以很方便的查找各种函数/变量,而且可以限定搜索范围(比如只查找.c 文件和.h文件等),是非常实用的一个技巧。
+ @$ n- c* x/ Y% ]: A3 Q
: j9 ~, }  y$ D6 }* |( r; E9 j9 l0 ?% K( ]5 y
收藏 评论0 发布时间:2022-4-3 21:00

举报

0个回答

所属标签

相似分享

官网相关资源

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