keil如何定义只读变量

keil如何定义只读变量,第1张

Keil工具_更改文件只读属性
Keil⼯具_更改⽂件只读属性
1 前⾔
Keil给⽤户留了⼀个插⼊⾃定义组件的选项。通过插件⽤户可以使⽤外部的编辑器(如Notepad++、VScode等),也可以添加其他⾃定义功能。可以参考这篇⽂章。
为了避免键盘误 *** 作破坏代码,我习惯于锁定(只读)已完成的源⽂件。但每次都要在资源管理器修改属性很⿇烦。本⽂介绍的这个批处理可以在Keil软件内轻松⾃由切换源⽂件的只读状态。(⽹上查了许久都找不到,只能⾃⼰写了 )
插件使⽤批处理,理论上不限定软件版本。IAR没有测试,如果参数⼀致也是可⾏的。
2 效果
先来看看效果
3 快速开始
31 代码
复制代码到⼀个新建的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
32 设置
打开Keil的tools->customize tools menu菜单可以添加⽤户⾃定义的菜单选项。如下图所⽰:
Menu Content:锁定当前⽂件
Command:C:\Software\Keil_V5\Tools\更改只读属性\lockbat
Arguments:!E !E
Menu Content:锁定所有⽂件
Command:C:\Software\Keil_V5\Tools\更改只读属性\lockbat
Arguments:%P
记得勾选Run Minimized项,这样就不会有批处理的⿊窗d出。
4 相关说明
41 批处理相关知识
411 显⽰或更改⽂件属性。
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]
+ 设置属性。
- 清除属性。
R 只读⽂件属性。
A 存档⽂件属性。
S 系统⽂件属性。
H 隐藏⽂专件属性。
[drive:][path][filename]指定要处理的⽂件属性。
/S 处理当前⽂件夹及其⼦⽂件夹中的匹配⽂件。
/D 也处理⽂件夹
412 给批处理脚本传递参数
批处理⽂件中可引⽤的参数为%0-%9,%0是指批处理⽂件的本⾝,也可以说是⼀个外部命令;%1-%9是批处理参数,也称形参。我们来新建⼀个⽂件,⽂件命名为testbat,⽂件内容如下:
@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
在控制台运⾏,并且处传⼊参数,运⾏结果如下:
> testbat 1 2 3 4
param[0] = testbat
param[1] = 1
param[2] = 2
param[3] = 3
param[4] = 4
param[5] =

请按任意键继续
pause>nul和pause
pause就是暂停命令,执⾏时会在命令⾏窗⼝显⽰请按任意键继续 并等待你按键。pause > nul的作⽤是同样的,区别是不显⽰请按任意键继续 这些字,nul相当于空⽂件,把这些⽂字隐去了。同样是等待你按键。
>是重定向符(将输出的内容重定向到其它的设备),例如echo hello >c:\1txt把hello重定向到c:\1txt,如果c:\1txt不存在则新建。nul是空设备。
echo off关闭回显;@echo off加了@就是连本⾝也不显⽰。
413 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。
414 批处理顺序执⾏多条命令
命令1 & 命令2 & 命令3 (⽆论前⾯命令是否故障,照样执⾏后⾯)
命令1 && 命令2 && 命令3(仅当前⾯命令成功时,才执⾏后⾯)
命令1 || 命令2 || 命令3 (仅当前⾯命令失败时,才执⾏后⾯)
415 Bat批处理之if详解
判断字符串是否相等的时候,if会区分⼤⼩写。若不想区分⼤⼩写,则需要if /i "字符串1"=="字符串2" 的格式。
判断两个数值之间的⼤⼩关系时,由于在批处理中>和<为重定向符号,这就意味着我们不能⽤>来表⽰⼤于,<表⽰⼩于。
EQU - 等于
NEQ - 不等于
LSS - ⼩于
LEQ - ⼩于或等于
GTR - ⼤于
GEQ - ⼤于或等于
42 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
43 Argument
关于Argument可以参考,本⽂⽤到的参数有:
符号意义例⼦
!E带有扩展名和相对路径的⽂件名\main\mainc
%P当前项⽬的⽂件名PROJECT1UVPROJX
关于图上Keil的其他插件,有问题欢迎咨询。
5 总结
第⼀次在博客园发布⽂章,由于博主能⼒有限,⽂中可能存在描述不正确,欢迎指正、补充!感谢您的阅读。如果⽂章对您有⽤,那么请轻轻点个赞,以资⿎励。

59
百度文库VIP限时优惠现在开通,立享6亿+VIP内容
立即获取
Keil工具_更改文件只读属性
Keil⼯具_更改⽂件只读属性
1 前⾔
Keil给⽤户留了⼀个插⼊⾃定义组件的选项。通过插件⽤户可以使⽤外部的编辑器(如Notepad++、VScode等),也可以添加其他⾃定义功能。可以参考这篇⽂章。
为了避免键盘误 *** 作破坏代码,我习惯于锁定(只读)已完成的源⽂件。但每次都要在资源管理器修改属性很⿇烦。本⽂介绍的这个批处理可以在Keil软件内轻松⾃由切换源⽂件的只读状态。(⽹上查了许久都找不到,只能⾃⼰写了 )
第 1 页
插件使⽤批处理,理论上不限定软件版本。IAR没有测试,如果参数⼀致也是可⾏的。
2 效果
先来看看效果
3 快速开始
31 代码
复制代码到⼀个新建的txt⽂件中,更改后缀名为bat,放到任意⽂件夹下。
@echo off
attrib -A %1 /s

KEIL 头文件路径可以直接写在引号内,缺省的话,头文件必须在工程文件同一个目录下,比如:
#include<ds0832h> //此时ds0832h 文件必须与工程文件同一目录
#include "d:\myfile\ds0832h" //此时 ds0832h文件在d:\myfile目录下。
还可以写作
#include "ds0832h" //此时也必须同一目录。

keil生成的hex文件重命名,这事太简单啦。
方法一,在keil中,修改生成的HEX文件名,原来的名就保留了,再生成就是新的名了。
方法二,在保存工程的文件夹中,找到HEX文件(通常HEX文件是和工程在同一个文件夹的),在HEX文件上点鼠标右键,选择“重命名”即可改名了。
控制版本,是想怎么控制法?是在HEX文件名上体现版本号?就在重命名时加上,例如:
LCD1602_V22HEX ,表示V22版本
或者在主程序中体现出版本号,可以定义一个code 型变量或常量,加在主程序中,可以通过串口发送到电脑上,或数码管等显示出来。

在Keil μVision4主界面中,选中菜单栏中的工程选项,然后在打开的下拉菜单中,选择<为目标Target1设置选项>;
2
/8
首先进入到的是Target选项卡,Xtal 后面的数值框代表的是晶振频率值,因为我们选的芯片为51单片机,所以一把将这里的数值设置为110592MHz,后面的Use on-chip ROM 选项,表示是否使用片内 ROM,这个我们可以根据需要将其选中;
3
/8
在Target选项卡中还有三个设置是比较能用的到的,首先说的是Memory Mode,他是用于设置 RAM ,在下拉框中有三个选择项:
Small:variables in DATA 所有变量都在的内部RAM
Compact:variables in PDATA 使用部分外部扩展RAM
Larget:variables in XDATA 使用全部外部扩展RAM
4
/8
Code Rom Size 是设置ROM的使用情况,在下拉框中的三个选项分别是:
Small:program 2k or less 只用低于 2K 的程序空间
Compact:2k functions,64k program 单个函数的代码量不能超过 2K,整个程序可以使用 64K 程序空间
Larget:64k program 可用全部 64K 空间
5
/8
Operating system: 是用来选择 *** 作系统的,在下拉框中的选项分别是:RTX-51 Tiny 和RTR-51 Full,None是不使用任何 *** 作系统;
6
/8
接下来打开OutPut选项卡,在此界面中我们将Creat Hex file选中,此功能用于生成可执行代码文件,所以此选项要特别注意,其他的设置我们默认就可以了;
7
/8
Listing 选项卡中的设置是用于调整生成各种列表文件,在这个选项卡中比较常用的是Assamble Code选项,此选项的功能是生成 C 语言源程序所对应的汇编代码;
8
/8
C51 选项卡的功能是用于对 Keil 的C51 编译器的编译过程进行控制,这里我们比较常用的是Emphasis,他的功能是选择编译优先级,在Emphasis的下拉菜单中有三个选项分别是:
Favor speed 生成的代码速度最快
Favor size 生成的代码量最少
<default> 默认,速度优先
注意事项
如果此经验对您有所帮助,就请支持一下,谢谢。
内容仅供参考并受版权保护
举报/反馈
不喜欢
沙发_厂家直销_价格优惠
材质细密实木沙发
¥42000 元
客厅办公实木沙发
¥1400 元
楸木实木沙发
¥3800 元
三杉全实木沙发 欧式真皮实木沙发 材质细密实木沙发
¥1800 元
三杉全实木沙发
¥13968 元
爱采购广告
乳胶床垫怎么样-京东家居家装,让家居更温暖!
乳胶床垫怎么样-京东家居家装,多场景适用,性价比高!环保材质,使用更健康!
京东广告

立创EDA画电路图时怎么快速查找STC89C52
896人看
在keil中怎样新建文档?
100w人看过
二手钢琴回收网-上门回收-电话预约
关注二手钢琴的人也在看
乐人回收乐器有限公司广告
keil怎样生成hex文件?
24w人看过
检查井-各类潮流单品,尽在淘宝热卖,快来选购!
淘宝热卖广告
keil5生成hex文件步骤
13w人看过
Keil项目怎么添加C文件
3797人看过
keil4怎么新建工程
3785人看过
电动车价格一般多少钱2023款上汽大众ID4 X 焕新上市
关注电动摩托车的人也在看
上海上汽大众汽车销售广告
百度法制宣传日-反诈及青少年普法宣传活动
keil uvision4在编译程序时如何生成hex文件?
758人看过
如何使用立创EDA 建立封装?
4920人看过
双G网红同款裤腰带酷奇男士皮带百搭皮带ins休闲时尚潮流 38男款GG黑色金(普通礼盒) 115CM
¥128 元¥148 元
购买
京东广告
单片机的Hex文件如何生成?
11w人看过
使用proteus绘制51单片机最小系统的方法
1961人看过
keil为什么编译不了
5289人看过
双G网红同款裤腰带酷奇男士皮带百搭皮带ins休闲时尚潮流 38男款GG黑色金(普通礼盒) 115CM
¥128 元
双G网红同款裤腰带酷奇男士皮带百搭皮带ins休闲时尚潮流 38男款GG黑色金(专柜礼盒) 110CM
¥148 元
乾裳新品腰带女酷奇皮带男女同款双G经典时尚百搭腰带韩版网红裤腰带女 双G40宽男款 125CM
¥52 元
京东广告
《51单片机》:[30]如何生成HEX文件
7363人看过
keil如何编译程序
14w人看过
KEIL怎样生成HEX文件和相关设置
01:45
953w人看过
Keil工具栏不见了
44w人看过
立创EDA怎么0元打样PCB板
5108人看过
Keil如何软件仿真调试
01:59
902w人看过
keil与proteus联调
15w人看过
立创EDA如何为画好的PCB铺铜
3348人看过
keil uvision4怎么用
00:57
73w人看过
发表你的评论
抢沙发
4

keil4中将c文件下的reg51h删掉了处理方法如下。
1、打开Keil4工程,找到被删掉reg51h的C文件。
2、在C文件中找到包含reg51h头文件的地方,将其注释掉或者修改为正确路径下的reg51h文件所在位置。
3、如果没有正确路径下的reg51h文件,可以从Keil官网下载,并将其放置到合适的位置下。例如,可以将其放置到工程目录下的一个新建文件夹中,然后在需要使用该头文件的地方包含该头文件。
4、如果需要使用其他头文件,也需要按照相应的步骤添加到工程中。
5、重新编译代码,检查是否存在编译错误。如有错误,则根据错误提示进行修正。

把原来工程1所在的文件夹,复制到工程2文件夹,变成两个独立的文件夹,最好文件夹分别命名为工程1,工程2,便于区分。想修改工程2,就打开工程2的文件夹里的工程文件:随便修改。记得打开keil时,关闭原工程文件。这样,工程1文件夹里的文件就不会变动了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13324188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-15
下一篇 2023-07-15

发表评论

登录后才能评论

评论列表(0条)

保存