- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
20 -
uBASIC用户指南中文版
uBASIC是什么?
uBASIC是与普通的BASIC语言极相似的解释型编程语言,在佳能相机的CHDK外挂破解固件中使用的仅是uBASIC语言的一个微小的子集,但用来控制相机的各种操作已经足够了。uBASIC是CHDK所包含的编程组件,通过编程来进一步拓展CHDK固件的功能。通过运行uBASIC编写的脚本,可以使相机按预定的程序自动地执行各种操作,比如运动检测(功能相当强大),自动调整光圈、快门,包围曝光,甚至USB线控拍摄等等。只要有任何一种编程语言的基础,要学会uBASIC相机控制脚本语言都是非常容易的,不过要灵活地运用它实现很多特殊而有趣的功能则需要一定时间的练习与实践了。
开始做
在开始写脚本前应该记住这些内容:
可以使用任何文本编辑器编写脚本。但应该确定它被保存为纯文本格式。不要用WORD之类的高级编辑器,这些编辑器将会插入隐藏的文件头信息并使用非标准的ASCII字符作为回车/换行命令、引号及其它字符。简单的文本编辑器就足够了,但是即使这样也要当心不要使用TAB进行文字缩进(例如在Windows系统中可以使用记事本或更适用的Crimson,在Linux中使用nano等)。Mac用户,应该确定你的脚本是用UTF-8编码。
由于CHDK中没有提供中文字库,有网站可以下载到CHDK的中文字体与中文菜单文件,但通常都无法实现所有汉字的完全显示,所以不要在uBASIC脚本代码中使用中文,否则将出现乱码。
保持所有命令写法为小写字母,变量应区分大小写(如a和A不是同一个变量)。
在CHDK Build119及之后的版本中脚本大小不能超过8k(8192字节),在CHDK Build119及更早的版本中大小限制为2K(2048字节)。
要知道不是所有的命令都能在所有的相机中运行。假如你打算共享你的脚本,应尽量保持脚本的通用性,除了你有特别需要而必须使用针对于指定相机的命令。应尽量提供一个更通用的版本以让其它相机用户共享。
假如使用早期的CHDK版本,在本手册中列出的一些命令将无效,并引起错误。应尽量从Wikia的官方网站下载CHDK的最新版,网址: /wiki/CHDK。(遗憾!该网址已经被国内网络运营商屏蔽,要想打开它,建议用傲游浏览器上代理服务器。)
应保持脚本的简洁高效!微型uBASIC解释每一行脚本耗费10毫秒。假如你的脚本有10行,将耗费1/10秒,100行将耗费整整1秒……。这将会对某些高速应用产生很大影响。即使是rem声明也会耗费10毫秒进行处理;应该谨慎地使用它们。在0.5.5版及以后的版本中,多达100条rem声明和标签在被执行之前,将要等待10毫秒。
要记住脚本和CHDK通过从一个协作的多任务系统中窃取时间而运行——不是像在Linux或Windows系统中那样插入一个时间片。必须用一个“sleep…”给相机运行让出时间,以让相机能做一些必要的工作。例如,一些print之后的sleep将给相机一些时间使写到LCD上显示的信息不被破坏。“sleep 100”似乎是一个常用值,但是依赖于相机和其它因素,在某些操作之后你可能需要sleep为300~400毫秒。如果失败,可能导致(间歇性的!)相机挂起或关闭(相机中的看门狗会使发生错误时相机关闭)。
假如你写了一个有趣的脚本,请和其它脚本写作者分享,那么我们会向你学习!脚本创作初学者有时是最有创造力的!
两个新的脚本菜单选项已经被加入到一些特殊的版本,请到固件用法页面查看这些特征。通过使用这两个选项并结合这些脚本,你能在相机中执行任何脚本。这将给你一个无限的自定义拍摄模式和USB远程功能。你可能想要用这些扩展的特征写脚本。
脚本头部
脚本头部命令有3个:@title、@param、@default
在查看脚本时经常会看到像下面这样的部分:
@title Interval shooting
@param a Shoot count
@default a 5
@param b Interval (Minutes)
@default b 0
让我们逐行了解其意义及它们怎么被CHDK使用。
@title Your Script Title
当用CHDK载入脚本时,进入“Scripting Parameters”菜单选项将显示这个标题。它将出现在这行之下“Current Script”,当处在ALT模式时,它也显示在取景器的左下角。标题应保持在20字符及以内。否则标题将覆盖ALT标签。
@param x (label)
@default x n
这段代码设定在脚本中使用的用户可定义变量的初始值,经常用来设置你想要的曝光量、延时长度、包围曝光步数等等。最终用户能从“Script Parameters”菜单项中改变这些变量的值。在
文档评论(0)