快思聪编程自学宝典
目录
一、ANALOGOPERATIONS (4)
1、A NALOG2'S O FFSET C ONVERTER (4)
2、A NALOG B UFFER (4)
3、A NALOG D IV M OD (5)
4、A NALOG E QUATE (5)
5、A NALOG F LIP (5)
6、A NALOG I NITIALIZE (6)
7、A NALOG I NTEGRAL (7)
8、A NALOG P RESET (7)
9、A NALOG R AMP (8)
10、A NALOG R ATE L IMITER (8)
11、A NALOG S CALER (9)
12、A NALOG S CALERWITHOUT Z ERO P ASS (9)
13、A NALOG S CALER B UFFER (10)
14、A NALOG S CALER B UFFERABOUT50% (10)
15、A NALOG S TEP (11)
16、A NALOG S UM (11)
17、A NALOGTO D IGITAL (11)
18、A NALOGTO F LOATING P OINT (12)
19、A NALOGTO I NDIRECT T EXT (13)
20、A NALOG V ALUE S AMPLE (13)
21、A N A NALOG V ARIABLE P RESET (14)
22、D ECADE (14)
23、D IGITAL S UM (15)
24、D IGITALTO A NALOG (15)
25、D IGITALTO S CALED A NALOG (15)
26、F LOATING P OINTTO A NALOG (16)
27、N UMERIC K EYPAD (16)
二、CONDITIONAL (17)
1、A NALOG C OMPARE (17)
2、AND (18)
3、B INARY D ECODER (18)
4、B UFFER (19)
5、E XCLUSIVE NOR (20)
6、E XCLUSIVE OR (20)
7、NAND (21)
8、N EGATIVE T RANSITION G ATE (22)
9、NOR (22)
10、NOT (22)
11、OR (23)
13、T RUTH T ABLE (24)
三COUNTER............................................................................................................. 错误!未定义书签。
1、B INARY C OUNTER (25)
2、R ING C OUNTER (25)
四DEGUGGING (26)
1、A NALOG D EBUGGER (26)
2、M ESSAGETO C OMPUTER P ORT (26)
3、S ERIAL B INARYTO H EX (26)
4、S ERIAL D EBUGGER(ASCII) (27)
5、S ERIAL D EBUGGER(H EX) (27)
五MEMORY (27)
1、A NALOG N ON-V OLATILE R AMP (28)
2、A NALOG RAM (28)
3、A NALOG RAM FROM D ATABASE (29)
4、DF LIP F LOP (30)
5、D IGITAL RAM (30)
6、FIFOQ UEUE (31)
7、I NTERLOCK (32)
8、JKF LIP F LOP (33)
9、M EMORY I NTERLOCK (33)
10、S ERIAL M EMORY S EARCH (34)
11、S ERIAL Q UEUE (35)
12、S ERIAL RAM (36)
13、S ERIAL RAM FROM D ATABASE (37)
14、S ET/R ESET L ATCH (37)
15、T OGGLE (38)
六、SERIAL (38)
1、A NALOGTO S ERIAL (38)
2、ASCIIK EYPAD (40)
3、ASCIIS ERIAL D ECODER (41)
4、D UPLE E NCODER (42)
5、D UPLE D ECODER (43)
6、S ERIAL/A NALOG O NE-S HOT (43)
7、S ERIAL B UFFER (44)
8、S ERIAL C ONCATENATION (44)
9、S ERIAL D EMULTIPLEXOR (45)
10、S ERIAL D EMULTIPLEXOR(S PECIAL) (45)
11、S ERIAL G ATHER (46)
12、S ERIAL I/O (47)
13、S ERIAL M EMORY D IALER (49)
15、S ERIAL S UBSTRING (50)
16、S ERIAL P ACER (52)
17、S ERIAL S END (52)
18、S ERIALTO A NALOG (53)
19、T ELEPHONE D IALING K EYPAD (54)
20、T ELEPHONE D IALING K EYPADW/O B ACKSPACE (55)
七、SEQUENCINGOPERATIONS (55)
1、B UTTON P RESSER (55)
2、S TEPPER (56)
八、TIME/DATE (56)
1、C LOCK D RIVER (56)
2、S ERIALIZE D ATE (56)
3、P AST (57)
4、S ET S YSTEM C LOCK (57)
5、W HEN (58)
九、TIMERS (58)
1、D ELAY (58)
2、D EBOUNCE (58)
3、M ULTIPLE O NE S HOTS (59)
4、O NE S HOT (59)
5、O SCILLATOR (60)
6、P ULSE S TRETCHER (60)
7、R ETRIGGERABLE O NE S HOT (61)
十、SYSTEMCONTROL (61)
1、I NTERSYSTEM C OMMUNICATIONS (61)
2、I NTERSYSTEM C OMMUNICATIONSW/S TATUS R EQ (64)
3、H ARD R ESET (64)
4、S OFT R ESET (65)
NUMERICFORMATS (65)
BREAKBEFOREMAKE (65)
STATIC/TRANSIENTDATA (65)
NVRAM (66)
HIGH/LOWBYTES (66)
一、Analogoperations
1、Analog2'sOffsetConverter
快速键名:op84,ato2off
信号:任意数的模拟信号输入
对应每个输入有对应的模拟信号输出
描述:Analog2'sOffsetConverter用16位数作为输入。用这种方法,它将模拟输入从补码转换成有正负之分的码。每一个输入都有一个相对应的输出,并且每一组输入输出之间都相对独立。因此,每一个独立的模块都可以进行转换成和输入相对应多的输出。转换是对称的,即转换后的码再进行转换就变成源码。
转换示例(用16进制数表示):
> 00008000 80000000 FFFF7FFF 7FFFFFFF 5432D432 D4325432 2、AnalogBuffer 快速键名:abuffer,abuf 信号:1个数字输入(Enable) 任意数目的模拟信号输入或连续数 据输入: 对应每个输入的输出: 上升沿 出对应于输入的水平。只要 注意:虽然AnalogBuffer元素能够传递连续的数据,在大多数情况下,建议使用SerialBuffer 元素。模拟信号和数字信号的值会一直保持直到它们被赋予新的值,与它们不同,大多数连续信号是瞬时的,这意味着它们的数据只能临时保持。SerialBuffer元素更适合处理这种 特性。 3、AnalogDivMod 快速键名:divmod,adiv 信号/参数:1个模拟输入: 2个模拟输入:商 1个参数:除数 NumericFormats) 描述:AnalogDivMod元素 对它的输入执行取整和 取模操作来产生两个输 出。因此,如果 的值是5而 2,5的整数部分值(truncated)被2除的结果是2( 2)而5mod2is1( 的值都是正的。设置 4、AnalogEquate 快速键名:equ 信号/参数:1个模拟输入: 1个可选的数字输入: 任意数目的数字输出: 每一个输出都有一个对应的参数: 描述:若 应的值与输入的模拟信 号值相匹配,那么 AnalogEquate元素将使 输 出信号值为高。输出将 保持为高直到另外一个 匹配值被发现。 注意:1个AnalogEquate 元素的输出在产生之前是不会变化的。这表明两个有不同 数的输出有可能同一瞬时同时达到高。 当可选输入 5、AnalogFlip 快速键名:aflip 信号:任意数目的模拟输入: 每一个输入都有一个对应的模拟输出: 描述:AnalogFlip信号在输出的基础上产生了输入的2补码。因此它将从0%到100%的范围转化成了100%到0%。(1个输入为50%的余不变)每一个输入都有一个对应的输出,每一个输入/输出对都是相对独立的。 示例:AnalogFlip信号可用于反转触摸屏的感应信号,或反转用于控制CPC-CAMI的感应信号。 当PAN-TILT单位装配反了,这时,右变成了左,上变成了下。 Sampleinversions: > 50%50% 0%100% 100%0% 75%25% 25%75% 80%20% 20%80% 6、AnalogInitialize 快捷键名:init 信号/参数: 信号输入的形式:1个数字输入: 任意数量的模拟输出: 对应于每个输出,都有一个对应的参数: Formats) 信号输出的形式:任意数量的数字输入: 1个模拟输出: 对应于每个输入,都有一个对 应的参数: Formats) 描述:在单一的输入形式中, AnalogInitialize信号通过它对 应于在输入信号的每一个上升沿的 在单一输出形式中,信号将对在任何一个输入的上升沿对输出值进行初始化。输出将被设置成对应于最近升高的输入的 在启动时,所有的输出都为0值,但当输入仅有一个且被赋予信号名1时除外。在这种情 况下,输出将通过它们对应的 7、AnalogIntegral 快速键名:Integral 信号/参数:1个模拟输入: 1个模拟输出: 1个双精度参数: 描述:AnalogIntegral信号产生了1个根据输入按比例改变的输出信号,例如:当输入为100%,输出值在被 在同一期间段内在505到0%之间浮动。当输入为50%,输出保持其现有值不变。 输出值在50%到100%之间转化的时间由以下公式计算: 输出值转化时间 =( 输出值在50%到0%之间转化的时间由以下公式计算: 输出值转化时间=(50%- 当输入值为75%, (75%-50%)/100%*5。 示例:当1个速率控制器比如1个操纵杆或spring-returnslider必须提供组件例如摄象机的位置控 制时就要用到AnalogIntegral信号。摄象机将在操纵杆回弹到50%位置时按操纵杆比例移 动并锁定它自己的位置。 8、AnalogPreset 快速键名:Preset 信号/参数:1个数字输入: 任意数量的模拟输出: 每一个输出都对应有一个目的单元格值: 1个双精度参数: 描述:AnalogPreset信号在被 动来驱动每一个模拟输出信号到它相应的 注意:在转化期间,输入的第二个上升沿将驱动输出值立即达到它们的最终值。这叫做 “CUT”。 既然模拟信号能够持有多重合法来源,而且通常是合适的,那么它就可以联合模拟预设的输出与模拟(AnalogRamp)信号的输出并对两者进行比较。当完成后,哪个信号(预设或Ramp)最后驱动模拟输出值,这个模拟输出值就由此信号决定。在灯光和音量的例子中,由手动控制和预设控制结合起来进行控制。 参见AnalogVariablePreset(模拟预设变量),AnalogRamp 9、AnalogRamp 快速键名:Ramp 信号/参数:2个数字输入: 1个附加数字输入: 1个模拟输入: 1个双精度参数: 描述:无论输入 附加 注意:既然 高时要用一个缓冲器来禁止 参见AnalogNon-VolatileRamp 10、AnalogRateLimiter 快速键名:slew,alimit,arl 信号/参数:1个模拟输入: 1个模拟输出: 1个双精度参数: 描述:,AnalogRateLimiter信号通过一个步进输入或任何与瞬变对应的输入而产生1个平滑变化 的输出,例如从触摸屏上的滑 动条。 了slew-rate(回转速率),或 指定了输出从其现值浮动到 新值的时间。例如,如果输出 现在为75%,而 等于5 秒, 始全范围(0-65535)浮动的时间,并由任何局部浮动来进行衡量。例如,如果时间被指定为10秒,从25%到75%的转化将需要5秒的时间,由一半范围起算。 11、AnalogScaler 快速键名:mxb,ascale 信号/参数:1个模拟输入: 1个模拟输出: 2个参数:和 1个可选参数: 描述:当表示比例因子,并且 拟输入信号的值: 可选参数 如果输入达到0%,不论 示例:1、CNVCP-2(或3)音量控制卡(在理想的情况下)有一个大的分贝范围从+14(100%)到-76dB(0%)。一个更理想的范围是从0到-30db。在这种情况下,可以被设在31% 而 2、一个模拟输入必须被限定在0-65535到0-25之间。这个范围或叫做跨度,总共有26个值,因此=26。当输入和输出都从0开始时, 3、一个模拟输入需要被限定在0-10到0-30之间。在此,范围必须被扩大,因此 =3而 参见AnalogScalerwithoutZeroPass 12、AnalogScalerwithoutZeroPass 快速键名:mxbz,ascale0 信号/参数:1个模拟输入: 1个模拟输出: 2个参数:和 1个可选参数: 描述:AnalogScalerwithoutZeroPass信号除了没有“零传递”特性外,和AnalogScaler信号的作用一样。也就是说,当输入为0%时,输出等于 参见AnalogScaler 13、AnalogScalerBuffer 快速键名:mbuffer,asbuffer,asbuf 信号/参数:1个模拟输入: 任意数量的模拟输入: 对应每个输入的输出: 描述:AnalogScalingBuffer信号按比例限定它的输出为由 如果 注意:因为 14、 AnalogScalerBufferabout50% 快速键名:mbuffer2,asbuffer50,asbuf50 信号/参数:1个模拟输入: 任意数量的模拟输入: 对应每一个输入的输出: 描述:AnalogScalingBufferabout50%信号通过 以下公式进行: minimumvalueof maximumvalueof 因此,如果 定在25%--75%之间。这个特性也许可以用于限制一个镜头在高度放大时面板的灵敏度。一个滑动条将显示从0%到100%的等级,但是镜头放大的输出将只会在25%到75%之间。 一个联系 15、AnalogStep 快速键名:astep 信号/参数:2个数字输入: 1个模拟输出: 任意数量的参数: 见umericFormats) 描述:AnalogStep信号在 16、AnalogSum 快速键名:asum 信号/参数:任意数量的模拟输入: 1个模拟输出: 描述:AnalogSum信号以16位整数的形式产生它的输出为它的输入之和。而且无论任何输入改变时,都更新输出值。对于一个或更多加数来说,减少可能是由于用二补码符号来表示负 值所致。 与AnalogFlip对照 17、AnalogtoDigital 快速键名:A/D,atod 信号/参数:1个模拟输入: 最多16个数字输出:: 以及 描述:AnalogtoDigital信号是一个转换器,它把模拟 信号转换成数字信号。当低对应于0而高对 应于1时,16位的模拟输入的值由最多16个数字输出来 表示(开始于最重要的位,或MSB), 0表示低电平,1表示高电平。 如果定义少于16个输出,则只输出高位。 参见DigitaltoAnalog 18、AnalogtoFloatingPoint 快速键名:cnet12ieeecnet12ieee 信号/参数:2个模拟输入: 1个数字输入: 4个模拟输出: 描述:AnalogtoFloatingPoint信号激活了Crestron控制系统和CSIHVAC单位之间的通讯。也就 是说,它将它的模拟输入值转换为CSI单位需要的IEEE浮点格式。相反的,FloatingPointto Analog信号通过CSIHVAC系统将产生的浮点数转换回模拟值。 如果输入为负数, 示例:要传送一个小数如0.49,这个值必须被转换成16位小数。AnalogScaler信号用来限定输入值的范围达到期望的精度级别。例如一个精确到0.01的数(如0.49),则为65535(模 拟信号的最大值), (精度为0.1时, 0.001时, 以上的计算随后将成为49*(65535/100+0)=32112,即IEEE传送的正确格式(32112/65535 =0.49)。 参见FloatingPointtoAnalog。 19、AnalogtoIndirectText 快速键名:dpm 信号/参数:1个模拟输入: 1个可选数字输入: 3个参数: 1个可选参数: 描述: AnalogtoIndirectText信号 用于在一个或更多触摸面板 上显示模拟值。在大多数应用中,这 种信号是多余的,因为数字规格能够在VTPro-e中被创造出来。 当把模拟值传送到无线面板时, 当把模拟值传送到双向(2-way)无线面板(例如STX-3500C)时, 定Gateway(例如CNRFGWX)的16进制的CresnetID。在这些应用中,可选参数 必须被用于指定面板的16进制的RFID。 可选输入 20、AnalogValueSample 快速键名:sample 信号/参数:1个数字输入: 1个可选数字输入: 任意数量的模拟输入: 对应每一个输入,都有一个模拟输出: 描述:AnalogValueSample信号仅只在 况下无论 可_________选输入 示例:一个AnalogValueSample信号占用了一个或多个模拟水平的一个“快照”。在更新的模拟信号通过IntersystemCommunications信号发到远程系统时,它经常与Oscillator信号(震荡器 信号)一起用于控制速率。具有代表性的是,当较慢的Oscillator驱动 参见Oscillator,IntersvstemCommunications。 21、AnAnalogVariablePreset 快速键名:presetv 信号/参数:1个模拟输入: 任意数量的模拟输入: 任意数量的数字输入: 对应每一个输入从 输出: 1个数字输出: 描述:AnalogVariablePreset信号,经常与AnalogRAM信号一起使用,用于激活end-user来定义 系统的预设。这与AnalogPreset信号有所不同,在 AnalogVariablePreset信号在每一个 注意:在转变过程中, 叫做cut。 参见AnalogRAM,与AnalogPreset对照。 22、Decade 信号/参数: 1个模拟输入: 1个可选数字输入: 最高40个数字输出: 描述:Decade信号将它的模拟输入信号转换到数字输出组中,每一位数以十进制数来表示。每一组担任解码器的十分之一。例如,给输入为125,接着的输出将升高: 以产生期望中的输出。 Decade信号顺次求出整数部分的值(从最大值开始),就像输出能被用于发送串行数据到RS-232口,例如,没有附加逻辑或延迟的需要。在以上的例子中, 23、DigitalSum 快速键名:dsum 信号/参数:任意数量的数字输入: 1个模拟输出: 描述:DigitalSum信号根据它的输出产生一定数量的高电平输出信号,并更新输出值。 24、DigitaltoAnalog 快速键名:bda,dtoa 信号/参数:最高16个数字输入: 到 1个模拟输出: 描述:DigitaltoAnalog信号是一个数字-模拟转换器。 也就是说,它通过它的数字输入驱动它的输 出达到预期的值。每一个输入对应一位(开始于最高位, 或MSB),低电平对应0,高电平对应1。任何不明确的 输入被假定为0。 例如,如果用到了4个输入, 围就为从0%到93.751%。 对照DigitaltoScaledAnalog,AnalogtoDigital。 25、DigitaltoScaledAnalog 快速键名:d/a,dtosa 信号/参数:最高16个数字输入: 到 1个模拟输出: 描述:DigitaltoScaledAnalog信号将它的数字输入转 换成一个有范围的模拟输出信号,如下:每 一个输入表示一位(从最高位开始,或MSB),低电平 对应0,高电平对应1。因而得到的 输出值范围就由输入定义的二进制值限定,这样当所有 定义的输入为高时,输出值为100%, 而当所有定义的输入为低时,输出值为0%。 例如,如果数字7由4个输入表示, 个4位数可以有从0到15之间的值,而7是中间值,模拟输出将为50%。 注意:如果所有16个输入都用到的话,DigitaltoScaledAnalog信号将立即把数字信号转换为模拟信号。 参见DigitaltoAnalog,AnalogtoDigital。 26、FloatingPointtoAnalog 快速键名:ieee2cnet 信号/参数:4个模拟输入: 2个模拟输出: 1个数字输入: 描述:FloatingPointtoAnalog信号激活了CSIHVAC单 位和Crestron控制系统之间的通讯。也就 是说,它将由CSI单位产生的IEEE浮点数转换成模拟 值。相反的,AnalogtoFloatingPoint 信号是将模拟值转换成IEEE浮点数。 4字节(32位)的IEEE浮点数由4个输入来表示,由最高字节 是一个16位整数值,表示小数点左边的部分,而 输出 的范围,每一个输出就被设为它们的最大值(065535)。 要将输出的值限定为从0到10(精度为0.1),AnalogScaler就必须有一个=11和一 个 要限定输出值为从0到__________100(精度为0.01),必须等于101而 为32767的输入将给出一个值为50的输出,这个输出将被看作是0.50。 当=10001而 参见AnalogtoFloatingPoint,AnalogScaler。 27、NumericKeypad 快速键名:#pad,numpad 信号/参数:10个数字输入:<0>到<9> 3个数字输入: 1个可选数字输入: 1个模拟输出: 1个可选数字输出: 1个参数: 1个可选参数: 描述:NumericKeypad信号在它的输出上产生了由它的数字输入表示的模拟值,并使此值保 持在 由 输入 化为 初始 化为0。 输出在<+>的每一个上升沿 都增加1,在<->的每一个上 升沿都减1。 如果输出值达到了 (或 出值达到了-1 (或 的值变为 注意:限定于 内的值远多于输出实际上达 到的。例如,如果 而 可假定值为5到99之间。 可选数字输出信号 在 也升高,并预示下一个数字输入 <0>到<9>由一个新数的第一个数字开始计算。当开始输入时, 注意:如果输入 1、AnalogCompare 快速键名: compare,acomp 信号 ? 两个模拟信号输入:<+>and<-> ? 一个可选的模拟信号输入:<-> ? 一个数字信号输出: ? 一个可选的数字信号输出: 描述 在两个输入信号的情况下,AnalogCompare元素比较输入的模拟信号<+>和<->, 若输入 信号<+>≥<->,则输入高电平;否则输出低电平。 在三个输入信号的情况下,模拟输入信号>and<->定义了一个以<->为上极限和<-> 为下极限的范围。若输入信号<+>≥<->,则输出为高电平,且保持到<+><<->时为止;若输入信 号<+><<->,则输出为高电平,且保持到<+>≥<->时为止。 数字信号输出 说当 2、AND 快速键名 & 信号 ? 任意数目的数字输入信号: ? 一_________个数字输出信号: 描述 当所有的数字输入信号 高电平,那么AND元素输出一高电平的数字信 号 AND元素可以用以下的真值表来表示:高电平用1(真)表示,低电平用0(假)表示 000 010 100 111 3、BinaryDecoder 快速键名 decode 信号 ? 一个数字输入信号: ? 任意多的数字输入信号: ? 任意多的数字输出信号: 描述 二进字数表示的输入通过BinaryDecoder元素转换为一个用一元表示的输出。每 个数 字输入信号代表了一位二进字数,低电平为 0,高电平为1。 在两位数的情况下,如果 出信号 如果 当 如果 BinaryDecoder元素可以用以下的真值表来表示:高电平用1(真)表示,低电平用0(假) 表示,无关值用X表示: 0XX0000 1001000 1010100 1100010 1110001 4、Buffer 快速键名 buf 信号 ? 一个数字输入信号: ? 任意多的数字输入信号: ? 对应每一个输入信号的数字信号输出: 描述 只要输入信号 高电平。每一个输入对应有一个输出,每个输入/输出对之间是相对独立的。因此Buffer信 号有时被认为是一个复合AND信号,每一个输入信号与 对应的输出信号的。 尽管一个数字信号一般只能有一个驱动源,但是Buffer的输出信号是一个例外。也就 是说这个输出信号由一个Buffer或一个被按下的Button(或其它系统输入)所驱动的Buffer 来决定。因此一个独立的Buffer能触发多个事件,而多个Buffer能使同一组button控制不 同的设备。在一些应用中,Interlock元素的输出信号通常被用在Buffer的输入 Buffer元素的输出仅仅与其它Buffer的输出有关联,而与其它逻辑元素的输出无关。 不同系统的输入,例如触摸屏或手持发射器上的按键,也能决定Buffer的输出。当多个输出 相同时,Buffer元素的功能将和TransitionGate元素相同。 5、ExclusiveNOR 快速键名 xnor 信号 ? 任意多的数字输入: ? 一个数字输出: 描述 在有两个输入的情况下,如果ExclusiveNOR元 素的两个输入信号相同(高电平或低电 平)那么将输出一个高电平信号,否则输出低电平。ExclusiveNor元素的输出和Exclusive OR元素的输出相反。 在多于两个输入的情况下,如果ExclusiveNOR有偶数个输入信号为高电平或所有输入 信号同时为低电平,那么它将输出一个高电平信号,否则将输出低电平信号。ExclusiveNOR元素可以用以下的真值表来表示:高电平用1(真)表示,低电平用0(假) 表示。 001 010 100 111 6、ExclusiveOR 快速键名 xor 信号 ? 任何多的数字信号输入: ? 一个数字信号输入: 描述 如果ExclusiveOR元素有奇数个输入信号为高电平,则输出信号为高电平,否则