keil怎么定义变量ITO(keil4怎么定义变量)

Keil C的变量定义

data 定义使用直接访问的 00 - 7f 128个直接访问的地址空间

idata 定义使用间接方式访问的 00- ff 256个间接地址空间(包含data部分)用idata定义后全部用间接访问。

要求访问速度快的就data,要求容量大的就xdata,两者中间就idata

因为data空间很小,寄存器全部在这段空间,留给用户的不多,如果全部变量都data的话会编译失败。

用反汇编窗口查看一下编译后的汇编代码就知道了

Keil C编程中的变量定义

你把int

x,y;

//x,y定义为局部变量

这个语句放到程序开始,就是

void

main()

{

后面

不是每个编译器都是必须在程序开始定义变量的,很多编译允许在使用的时候才定义变量。

但keil就是一个要在程序开始定义变量的编译器。

keil如何定义只读变量

Keil工具_更改文件只读属性

Keil⼯具_更改⽂件只读属性

1. 前⾔

Keil给⽤户留了⼀个插⼊⾃定义组件的选项。通过插件⽤户可以使⽤外部的编辑器(如Notepad++、VScode等),也可以添加其他⾃定义功能。可以参考这篇⽂章。

为了避免键盘误操作破坏代码,我习惯于锁定(只读)已完成的源⽂件。但每次都要在资源管理器修改属性很⿇烦。本⽂介绍的这个批处理可以在Keil软件内轻松⾃由切换源⽂件的只读状态。(⽹上查了许久都找不到,只能⾃⼰写了 )

插件使⽤批处理,理论上不限定软件版本。IAR没有测试,如果参数⼀致也是可⾏的。

2. 效果

先来看看效果

3. 快速开始

3.1 代码

复制代码到⼀个新建的txt⽂件中,更改后缀名为.bat,放到任意⽂件夹下。

@echo off

attrib -A %1 /s

for /f %%a in ('attrib %1') do (if "%%a"=="R" (attrib -R %2 /s echo Unlocked) else (attrib +R %2 /s echo Locked))

exit

3.2 设置

打开Keil的tools-customize tools menu菜单可以添加⽤户⾃定义的菜单选项。如下图所⽰:

Menu Content:锁定当前⽂件

Command:C:\Software\Keil_V5\Tools\更改只读属性\lock.bat

Arguments:!E !E

Menu Content:锁定所有⽂件

Command:C:\Software\Keil_V5\Tools\更改只读属性\lock.bat

Arguments:%P

记得勾选Run Minimized项,这样就不会有批处理的⿊窗弹出。

4. 相关说明

4.1 批处理相关知识

4.1.1 显⽰或更改⽂件属性。

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]

+ 设置属性。

- 清除属性。

R 只读⽂件属性。

A 存档⽂件属性。

S 系统⽂件属性。

H 隐藏⽂专件属性。

[drive:][path][filename]指定要处理的⽂件属性。

/S 处理当前⽂件夹及其⼦⽂件夹中的匹配⽂件。

/D 也处理⽂件夹

4.1.2 给批处理脚本传递参数

批处理⽂件中可引⽤的参数为%0-%9,%0是指批处理⽂件的本⾝,也可以说是⼀个外部命令;%1-%9是批处理参数,也称形参。我们来新建⼀个⽂件,⽂件命名为test.bat,⽂件内容如下:

@echo off

echo param[0] = %0

echo param[1] = %1

echo param[2] = %2

echo param[3] = %3

echo param[4] = %4

echo param[5] = %5

echo ...

pause

在控制台运⾏,并且处传⼊参数,运⾏结果如下:

test.bat 1 2 3 4

param[0] = test.bat

param[1] = 1

param[2] = 2

param[3] = 3

param[4] = 4

param[5] =

...

请按任意键继续. . .

pausenul和pause

pause就是暂停命令,执⾏时会在命令⾏窗⼝显⽰请按任意键继续. . .并等待你按键。pause nul的作⽤是同样的,区别是不显⽰请按任意键继续. . .这些字,nul相当于空⽂件,把这些⽂字隐去了。同样是等待你按键。

是重定向符(将输出的内容重定向到其它的设备),例如echo hello c:\1.txt把hello重定向到c:\1.txt,如果c:\1.txt不存在则新建。nul是空设备。

echo off关闭回显;@echo off加了@就是连本⾝也不显⽰。

4.1.3 Bat批处理之for详解

FOR /F ["options"] %variable IN ('command1') DO command2 [command-parameters]

for、in和do是for语句的关键字,它们三个缺⼀不可;

in之后,do之前的括号不能省略;

关于%variable要注意:%a,%%a是for循环时⽤的。%a是在CMD直接执⾏时⽤的,%%a是在BAT脚本中⽤的。%a%是普通变量。

options可以为:delims=XX(指分隔符集);tokens=x,y,m-n(指每⾏的哪⼀个符号被传递到每个迭代的 for 本⾝);skip=n(指在⽂件开始时忽略的⾏数)。

参数/f的效果:for会先读出command1执⾏后得到的所有结果,并把它作为⼀个集合,并且以每⼀⾏作为⼀个元素传⼊参数%variable。

4.1.4 批处理顺序执⾏多条命令

命令1 命令2 命令3 ... (⽆论前⾯命令是否故障,照样执⾏后⾯)

命令1 命令2 命令3....(仅当前⾯命令成功时,才执⾏后⾯)

命令1 || 命令2 || 命令3.... (仅当前⾯命令失败时,才执⾏后⾯)

4.1.5 Bat批处理之if详解

判断字符串是否相等的时候,if会区分⼤⼩写。若不想区分⼤⼩写,则需要if /i "字符串1"=="字符串2" 的格式。

判断两个数值之间的⼤⼩关系时,由于在批处理中和为重定向符号,这就意味着我们不能⽤来表⽰⼤于,表⽰⼩于。

EQU - 等于

NEQ - 不等于

LSS - ⼩于

LEQ - ⼩于或等于

GTR - ⼤于

GEQ - ⼤于或等于

4.2 customize Tools menu

关于customize Tools menu对话框的详细内容可以参考以下⽂档引⽤:

Menu Content

Text shown in the Tools menu. This line may contain Key Codes and File Codes. Shortcuts are defined with an ampersand ( ) character. The current selected menu line allows you to specify the options listed below.

Prompt for Arguments

If enabled, a dialog box opens at the time you invoke the menu item that allows you to specify the command line arguments for the user program.

Run Minimized

Enable this option to execute the application with minimized window.

Run Independent

If enabled, µVision will not wait for the completion of the external application. If disabled, µVision waits until the external application terminates. The output of the external application will be written in the Output Window — Build page. The output can be made clickable to jump to a specific location in a source code. The output format shall be same as described in Clickable Output section in User dialog. Command

Program file that is executed with the selected menu item. You can use environment variables as described in Key Sequences to pass path arguments.

Initial Folder

Current working folder for the application program. If this entry is empty, µVision uses the base folder of the project file.

Arguments

Command line arguments that are passed to the application program. You may use Key Sequences to pass arguments.

All Entries

Export or Import Tools menu customization settings. Use this to share current settings across PCs.

4.3 Argument

关于Argument可以参考,本⽂⽤到的参数有:

符号意义例⼦

!E带有扩展名和相对路径的⽂件名.\main\main.c

%P当前项⽬的⽂件名PROJECT1.UVPROJX

关于图上Keil的其他插件,有问题欢迎咨询。

5. 总结

第⼀次在博客园发布⽂章,由于博主能⼒有限,⽂中可能存在描述不正确,欢迎指正、补充!感谢您的阅读。如果⽂章对您有⽤,那么请轻轻点个赞,以资⿎励。

5.9

百度文库VIP限时优惠现在开通,立享6亿+VIP内容

立即获取

Keil工具_更改文件只读属性

Keil⼯具_更改⽂件只读属性

1. 前⾔

Keil给⽤户留了⼀个插⼊⾃定义组件的选项。通过插件⽤户可以使⽤外部的编辑器(如Notepad++、VScode等),也可以添加其他⾃定义功能。可以参考这篇⽂章。

为了避免键盘误操作破坏代码,我习惯于锁定(只读)已完成的源⽂件。但每次都要在资源管理器修改属性很⿇烦。本⽂介绍的这个批处理可以在Keil软件内轻松⾃由切换源⽂件的只读状态。(⽹上查了许久都找不到,只能⾃⼰写了 )

第 1 页

插件使⽤批处理,理论上不限定软件版本。IAR没有测试,如果参数⼀致也是可⾏的。

2. 效果

先来看看效果

3. 快速开始

3.1 代码

复制代码到⼀个新建的txt⽂件中,更改后缀名为.bat,放到任意⽂件夹下。

@echo off

attrib -A %1 /s

361知讯网

本文链接:http://pdidw.com/keil/49447.html

发表评论

评论列表

还没有评论,快来说点什么吧~