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

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

[复制链接]
STMCU小助手 发布时间:2022-4-3 21:00
01. 文本美化: e7 h2 U" X, |9 U5 l9 g1 ^
文本美化,主要是设置一些关键字、注释、数字等的颜色和字体。前面我们在介绍 MDK5新建工程的时候看到界面,这是 MDK 默认的设置,可以看到其中的关键字和注释等字体的颜色不是很漂亮,而 MDK 提供了我们自定义字体颜色的功能。我们可以在工具条上点击 (配置对话框)或者Edit->Configuration。
' J0 r  w( D, a6 z% \# \
  F2 ~" D8 X" z 20200818175344333.png , \9 H5 U+ W5 s
( T- o0 M# M1 q. N0 S
在该对话框中,先设置 Encoding 为:Chinese GB2312(Simplified),然后设置 Tab size 为:4。以更好的支持简体中文(否则,拷贝到其他地方的时候,中文可能是一堆的问号),同时 TAB间隔设置为 4 个单位。然后,选择:Colors&Fonts 选项卡,在该选项卡内,我们就可以设置自己的代码的子体和颜色了。由于我们使用的是C语言,故在Window下面选择:C/C++ Editor Files在右边就可以看到相应的元素了。+ f* M! a9 E4 u; ^( f8 G4 s

! }1 l; f# G7 W8 k8 F! Z 20200818175354442.png 8 Z, |- ~& @( H# {

% J6 W1 o# f( ~' ^字体大小,则可以直接按住:ctrl+鼠标滚轮,进行放大或者缩小,或者也可以在刚刚的配置界面设置字体大小。
# R. U4 @7 ^1 ]( S# H, V/ z% L/ k" y5 M( R& X  b$ Y" }
用户自定义关键字没有高亮显示,解决办法是同样选择:C/C++Editor Files,在右边的 User Keywords 对话框下面输入你自己定义的关键字。5 n( K, u8 @1 o/ I5 L% f5 T
/ I- z7 b, {1 I% S2 r# I
[C6%ZXL90F}~HJJSRP{4[YU.png ) b4 ~3 v1 H- n) @9 X; J9 e* x

: f9 g- H' O1 |! |9 \4 S9 P6 p' @02. 语法检测和代码提示. U* k1 c2 p2 n
MDK5.30的版本,有代码提示与动态语法检测功能,使得 MDK 的编辑器越来越好用了,这里我们简单说一下如何设置,同样,点击 ,打开配置对话框,选择 Text Completion选项卡。
7 I7 R8 W! W  U+ N! q8 h
" K& Q' k& _. L* ]* R" _' F @JN7WY9~7M28SKD{K_0G~8T.png 6 G: d/ `! R9 y( [( P

& h2 l0 b! h: {$ |9 dStrut/Class Members,用于开启结构体/类成员提示功能。
9 |) a6 W1 f8 sFunction Parameters,用于开启函数参数提示功能。
5 }# W% S; D, p1 w0 a. {/ o+ P. MSymbols after xx characters,用于开启代码提示功能,即在输入多少个字符以后,提示匹配的内容(比如函数名字、结构体名字、变量名字等),这里默认设置 3 个字符以后,就开始提示。
6 t& }! c. j% o# ^% d
2 I+ U9 v) E; U' `  L: m) ~$ MDynamic Syntax Checking,则用于开启动态语法检测,比如编写的代码存在语法错误的时候,会在对应行前面出现X图标,如出现警告,则会出现!图标,将鼠标光标放图标上面,则会提示产生的错误/警告的原因。
# m* i$ u$ x+ Q
4 x% A- B$ s; d9 Q; Z03. 代码编辑技巧
( W: }: Q- u) r0 [# J& m3.1 TAB键的妙用
1 M1 t& E8 ]$ G4 R4 L3 ]
首先要介绍的就是 TAB 键的使用,这个键在很多编译器里面都是用来空位的,每按一下移空几个位。如果你是经常编写程序的对这个键一定再熟悉不过了。但是 MDK 的 TAB 键和一般编译器的 TAB 键有不同的地方,和 C++的 TAB 键差不多。MDK 的 TAB 键支持块操作。也就是可以让一片代码整体右移固定的几个位,也可以通过 SHIFT+TAB 键整体左移固定的几个位。( W, i: f! q9 X* C) ]' ?  K, R

- H0 ?. ^- V+ e( ?, z选中一块然后按 TAB 键,你可以看到整块代码都跟着右移了一定距离
# ^$ B# u# }; V$ g' c# v, N8 x7 D5 O2 `& A  q
IT~PEWD(6{B(FITUJHCDAKE.png ) d9 X; U3 [: y' A. g$ A& X- ?  u
. f& s5 M6 I* W% a
3.2 快速定位函数和变量的定义/ N  z, a# N( S4 x1 c/ ~5 w7 }4 h
大家在调试代码或编写代码的时候,一定有想看看某个函数是在那个地方定义的,具体里面的内容是怎么样的,也可能想看看某个变量或数组是在哪个地方定义的等。尤其在调试代码或者看别人代码的时候,如果编译器没有快速定位的功能的时候,你只能慢慢的自己找,代码量比较少还好,如果代码量一大,那就郁闷了,有时候要花很久的时间来找这个函数到底在哪里。型号 MDK 提供了这样的快速定位的功能。只要你把光标放到这个函数/变量(xxx)的上面(xxx 为你想要查看的函数或变量的名字),然后右键,弹出如图所示的菜单栏 :
5 m, o# h; }1 Q/ C# A9 v* N9 H* @
Y_XT%BT}N%[ZC%[96HDA90M.png
4 u" q6 G; G' ?& F, x( d5 t* {3 p6 a- I1 V; e) G
温馨提示/ a" e8 `3 M5 c. H4 r9 r

7 H+ L9 R* z# A3 Q2 u: H( S6 ~/ {3 e要先在 Options for Target 的 Output选项卡里面勾选 Browse Information 选项,再编译,再定位,否则无法定位!
+ m# w8 g5 y' D5 l. j9 C8 l1 ]4 \+ W8 c, D0 J
很多时候,我们利用 Go to Definition/ Reference 看完函数/变量的定义/申明后,又想返回之前的代码继续看,此时我们可以通过 IDE 的 按钮(Back to previous position)快速的返回之前的位置,这个按钮非常好用!9 r. F4 k/ ~( {. J, ^+ v

2 g1 N- x( y. ]' S0 h# ]( j( C3.3 快速注释和快速取消注释% r: ?+ o# B/ ~
在调试代码的时候,你可能会想注释某一片的代码,来看看执行的情况,MDK 提供了这样的快速注释/消注释块代码的功能。也# r* E+ @: o" q7 f+ _
是通过右键实现的。这个操作比较简单,就是先选中你要注释的代码区,然后右键,选择Advanced→Comment Selection 就可以了。
+ Q  _" x; ^, ]- k& b. W, k, f3 B" g7 _0 D( y% X/ H: @$ W
这样就快速的注释掉了一片代码,而在某些时候,我们又希望这段注释的代码能快速的取消注释,MDK 也提供了这个功能。与注释类似,先选中被注释掉的地方,然后通过右键→Advanced,不过这里选择的是 Uncomment Selection。( \$ H9 ~2 t1 ?5 C% t3 N

; z$ K8 p0 r! E4 W9 U04. 其它小技巧5 Y! {% s; P$ D
4.1 快速打开头文件

: V  _# p: ~, r+ `: n在将光标放到要打开的引用头文件上,然后右键选择 Open Document“XXX”,就可以快速打开这个文件了(XXX 是你要打开的头文件名字)。
4 }. g) R( A! E* b4 p# y! ^. Z- X, l7 f9 @- t. }
4.2 查找替换3 M2 L3 ?" Q# \# r" N) C4 |
这个和 WORD 等很多文档操作的替换功能是差不多的,在 MDK 里面查找替换的快捷键是“CTRL+H”。
% N$ N( e0 D; `- F$ n# y1 {9 E+ Z' t7 r# ~5 E2 t" U0 Z
4.3 跨文件查找功能
9 p3 ^% K7 x  n& L) D' I( R8 @; y
先双击你要找的函数/变量名(这里我们还是以系统时钟初始化函数:Stm32_Clock_Init 为例),然后再点击 IDE 上面的 Find in Files。; `+ e* j' q- `4 j0 q. ^" T

/ D3 l8 I4 S3 t+ ?- Z- [# o1 k O~PN0`XAOXIMBSM%_IAV0]U.png
* P1 ]% h% H( ?) @& `3 x
1 f. c0 Z) e, S- d点击 Find All,MDK 就会帮你找出所有含有GPIO_Init字段的文件并列出其所在位置
/ `! S5 o' ]" i0 J. P6 a$ a. V! ]8 M' a2 P9 V
I]IDQLZ9UN$M{D`WVQ2VAC4.png
. v' |0 R& W( H' W4 X5 c) a
" }2 a7 r* X( T" y, t该方法可以很方便的查找各种函数/变量,而且可以限定搜索范围(比如只查找.c 文件和.h文件等),是非常实用的一个技巧。- O# d! ~  p4 ?4 V* g

4 X. S3 G; r- l8 G+ u6 H: [% o3 t8 B, F( _" P5 t3 y" }1 w
收藏 评论0 发布时间:2022-4-3 21:00

举报

0个回答

所属标签

相似分享

官网相关资源

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