EADTECH 发表于 2013-10-16 09:27:00

Neutrino 480 串口控制代码举例-RS232 第三方控制-详解和下载

本帖最后由 zwj 于 2017-4-20 13:54 编辑

      


       本文件仅对音量的相对控制、音量的绝对控制、静音控制、模式调用进行了举例,对于其它50多种命令都没有举例,其它的命令,可以下载本文给出的链接英文文档。
      
      先说好了,如果你是想先测试,那么推荐你用一些串口调试程序,如果你是直接上,那么就连接中控主机好了,无论是用什么,都是连接到Neutrino产品的RS232接口,别捅到USB口上,那样USB口受不了,也别捅到电源口上,那样会触电的,Neutrino这边接好了,另外一边你是电脑也好中控主机也好工控触屏也行,都强烈建议用RS232口,如果是USB口或网口,小编可无法保证正常使用了。

      连接好之后,Neutrino设备这边的串口就不用设置了,需要把另外一边控制设备的RS232口设置如下,一定要注意那个停止位是2哦,千万要改成2,不然就真2了。。。不然就真2了。。。真2了。。真2了。。。。

波特率:115200
数据位:8
停止位:2
校验位:无
流控制:无

      如果上面这段话看不懂在说什么,那建议先不要向下看了。

      本文没有一个字是废话哦,请你仔细看每一个字,如果漏看了一个字,可能就不能控制了,再想重新翻查非常不便!切记!

      我们的Neutrino 480(M)/880(M)的串口代码请联系support@ead.cn获得,或者到ead.cn官网的在线论坛下载,就是下面这个链接:
http://www.eadbbs.com/forum.php?mod=viewthread&tid=1863&extra=page%3D3

~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~

      每个命令都是由一串代码组成的,这一串代码都是16进制数组成的,其中有一位数是校验位(这个与串口设置里说的“校验位”可不是一回事哦?),这个校验位是通过计算得到的,下面我们举个例子,先试试手气吧!?

功能要求:将“输出通道3”静音:
命令:01 57 7F 03 4D 55 54 30 08 20 09 21 0A 22 10 21 1F 2E 02
?      每一串命令都是以01开始,02结束的,所有位置都是16进制数
?      其中08 20的20代表设备1,21代表设备2,以此类推,2F代表设备16,可通过Neutrino 480/880的前面板的按键和液晶屏,找到此设备号是多少,此时液晶屏将显示两行字符,第一行是SYSTEM Comm,第二行显示:DEVICE ID: x,其中的X就是设备号了,不知道如何找到这个X的,请联系support@ead.cn
?      其中09 21的21代表输出通道,如果换成20则代表输入通道
?      其中0A 22中的22是代表是通道3,如果20代表通道1,而21代表通道2,以此类推,27是代表通道8。
?      1F 2E 02中间的2E就是校验位了,这个2E是通过计算得来的,首先将2E之前所有的数字都加起来(使用Windows十六进制计算器,以“四字”的方式加起来),得出的结果只留最后两位(比如得出的结果是100,那么只要0,如果得出的结果是2CD,那么只要CD),用这两位再除以60得到一个余数(在Windows计算器里,这样取余数的数学运算叫“取模mod”),注意我们只需要得到的这个余数,我们只需要得到的这个余数,我们只需要得到的这个余数,好的,得到的这个余数加上20就是2E了,我们这个命令的检验位是2E,其它的命令可能就不是2E了,所以只要你改动了其中任何一位数字,校验位都要重新计算的!!!

功能要求:将“输入通道3”静音:
命令:01 57 7F 03 4D 55 54 30 08 20 09 20 0A 22 10 21 1F 2D 02
?      必须的,在改动了其中任何一位数字,校验位都要重新计算的!!!校验位就是倒数第二位,这个命令中的2D就是校验位

?
功能要求:将“输入通道1”静音:
命令:01 57 7F 03 4D 55 54 30 08 20 09 20 0A 20 10 21 1F 2B 02
?      必须的,在改动了其中任何一位数字,校验位都要重新计算的!!!校验位就是倒数第二位,这个命令中的2B就是校验位

功能要求:调用“模式1”:
命令:01 57 7F 03 25 50 52 30 08 20 10 20 1F 68 02
?      每一串命令都是以01开始,02结束的,所有位都是16进制数
?      68是校验位,是用本文第一个命令中的计算方法得到的,请仔细阅读每一个字!!!
?      调用的模式如果通道是静音,那么调用出来之后通道就是静音的

功能要求:调用“模式2”:
命令:01 57 7F 03 25 50 52 30 08 20 10 21 1F 69 02

功能要求:调用“模式3”:
命令:01 57 7F 03 25 50 52 30 08 20 10 22 1F 6A 02

功能要求:调用“模式4”:
命令:01 57 7F 03 25 50 52 30 08 20 10 23 1F 6B 02
?      值得注意的一点就是校验位的重新计算,改动命令行中的任何一位代码,校验位都要重新计算

功能要求:将“输入通道1”增加3dB:
命令:01 57 7F 03 23 4C 56 4C 08 20 09 20 0A 20 0B 20 0C 21 10 2C 1F 39 02

功能要求:将“输入通道1”减少3dB:
命令:01 57 7f 03 23 4c 56 4c 08 20 09 20 0a 20 0b 20 0c 20 10 2c 1f 38 02

功能要求:将“输入通道2”增加3dB:
命令:01 57 7F 03 23 4C 56 4C 08 20 09 20 0A 21 0B 20 0C 21 10 2C 1F 3A 02

功能要求:将“输入通道1”增加2dB:
命令:01 57 7F 03 23 4C 56 4C 08 20 09 20 0A 20 0B 20 0C 21 10 28 1F 35 02

功能要求:将“输入通道1”减少2dB:
命令:01 57 7f 03 23 4c 56 4c 08 20 09 20 0a 20 0b 20 0c 20 10 28 1f 34 02

?
功能要求:将“输入通道1”的增益调整到0dB:
命令: 01 57 7f 03 4c 56 4c 30 08 20 09 20 0a 20 0b 20 11 21 60 1f 6f 02
?      这种命令我们称为“绝对”命令,就是不管当前通道是增益是多少,通过这个命令都给置为0dB了
?      其中09 20中的20就是输入通道,如果输出通道就是21
?      其中0a 20中的20就是通道1,如果通道2就是21,以此类推,27就是通道8
?      其中11 21 60中的21 60是增益值,增益的范围是-40~+15dB,步进值是0.25dB,代码就用0~220代表-40~+15dB,本例的0dB是我们的期望值,用0dB+40除以0.25等于160,160再按另外一套算法,换成十六进制,得到的160目前是大于96的,就需要先160-96=64(如果不大于96,就直接换换成十六进制数就行了),意思是160除以96,商1余64,1转换十六进制是01,64转换成十六进制是40,分别再加上固定数20,应为 01+20=21,40+20=60,所以0dB 的代码是21 60
?      其中11 21 60中的11代表其后面跟着2位代码(21 60),比如-40的16进制代码是20,长度是1位,那么11应改为10

功能要求:将“输入通道1”的增益调整到-40dB:
命令: 01 57 7f 03 4c 56 4c 30 08 20 09 20 0a 20 0b 20 10 20 1f 4D 02
?      同上面的举例类似的
?      其中10 20的10是代表其后面还有一位,-40的16进制代码是20
?      再重新计算出校验位是4D,校验位的计算在本文第一个举例有介绍!!


~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~


?
      哥们你现在OK了没?

      我们简单再来点马后炮吧,这里发送的代码都是十六进制的,有些中控的主机要带着“0x”发送,有的中控主机则需要连续发送,不可有空格,或带着“<>”发送,我们知道这个世界上各种像小编这样的奇葩到处都是,所以这些中控主机也是。。。。你懂的,按他们的要求做吧,别太强求自己了,他们说怎么发就怎么发,格式他们定,代码你来定。不多说了,赶着去投某个标了。。你懂的。

      相信通过上面的例子,你可以了解到这些命令的方式了,命令非常多,其它的命令请参考下面东坛地址.

举例文档:
英文原档:












EADTECH 发表于 2013-10-16 09:33:00

国际惯例,沙发搬走。
沙发不白搬啊,我将上面一楼的所有文字都打包成pdf文件,奉上给大家下载::D


zwj 发表于 2013-10-16 10:27:00

:D顶起!

EADTECH 发表于 2013-10-16 13:57:00

更新了2.1版了。

xiaoshuai008 发表于 2013-10-17 10:16:00

支持了,这个真心有用。

建安 发表于 2013-11-5 14:18:00

太全面了,如果想一次性控制两个参数可以不?比如控制两个通道的静音?

zwj 发表于 2013-11-6 00:19:00

太全面了,如果想一次性控制两个参数可以不?比如控制两个通道的静音?
建安 发表于 2013-11-5 14:18:00 http://www.eadbbs.com:8011/images/common/back.gif这个是可以实现的。请参考:http://www.eadbbs.com:8011/showtopic-1884.aspx

tbwshc 发表于 2013-12-2 22:08:00

呵呵非常详细的了

eader 发表于 2014-12-8 13:46:00

BeEQ 发表于 2015-1-8 08:37:00

确实应该下载看看。。近期要用这个设备
页: [1] 2
查看完整版本: Neutrino 480 串口控制代码举例-RS232 第三方控制-详解和下载