与Serproxy / Thinkerproxy的Adobe Air和串口通信

时间:2011-05-18 04:12:34

标签: air serial-port

我正在使用serproxy / thinkerproxy在小型Air应用程序中进行串行通信。 我有两个硬件设备来测试它。一个是条形码扫描仪,它工作得很好。

另一个是定制板。它也有点工作。问题是角色不可读。我认为这是charset的问题(不确定)所以我在处理ProgressEvent.SOCKET_DATA事件的函数中尝试过类似的东西:

var cs:Array = new Array(   'ISO-8859-1',
                                            'ISO-8859-2',
                                            'ISO-8859-3',
                                            'ISO-8859-4',
                                            'ISO-8859-5',
                                            'ISO-8859-6',
                                            'ISO-8859-7',
                                            'ISO-8859-8',
                                            'ISO-8859-9',
                                            'ISO-8859-10',
                                            'ISO-8859-11',
                                            'ISO-8859-12',
                                            'ISO-8859-13',
                                            'ISO-8859-14',
                                            'ISO-8859-15',
                                            'ISO-8859-16',
                                            'ISO-8859-17',
                                            'ISO-8859-18',
                                            'ISO-8859-19',
                                            'ISO-8859-20',
                                            'ASMO-708',
                                            'DOS-720',
                                            'x-mac-arabic',
                                            'windows-1256',
                                            'ibm775',
                                            'windows-1257',
                                            'ibm852',
                                            'x-mac-ce',
                                            'windows-1250',
                                            'gb18030',
                                            'EUC-CN',
                                            'gb2312',
                                            'gb18030',
                                            'hz-gb-2312',
                                            'x-mac-chinesesimp',
                                            'big5',
                                            'x-Chinese-CNS',
                                            'x-Chinese-Eten',
                                            'x-mac-chinesetrad',
                                            'cp866',
                                            'koi8-r',
                                            'koi8-u',
                                            'x-mac-greek',
                                            'windows-1253',
                                            'ibm869',
                                            'DOS-862',
                                            'iso-8859-8-i',
                                            'x-mac-hebrew',
                                            'windows-1255',
                                            'x-EBCDIC-Arabic',
                                            'x-EBCDIC-CyrillicRussian',
                                            'x-EBCDIC-CyrillicSerbianBulgarian',
                                            'x-EBCDIC-DenmarkNorway',
                                            'x-ebcdic-denmarknorway-euro',
                                            'x-EBCDIC-FinlandSweden',
                                            'x-ebcdic-finlandsweden-euro',
                                            'x-ebcdic-finlandsweden-euro',
                                            'x-iscii-as',
                                            'unicode',
                                            'unicodeFFFE',
                                            'utf-7',
                                            'utf-8',
                                            'us-ascii',
                                            'windows-1258',
                                            'x-IA5',
                                            'Windows-1252'
                                        );

                for each(var csStr:String in cs){

                    var info:String = _socket.readMultiByte(_socket.bytesAvailable, csStr);
                    temp = csStr + ":" + info;

                    if(info.length > 0)
                        dispatchEvent(new TextEvent(EVENT_ON_DATA_RECEIVED, false, false, temp) );
                }

包含值的唯一值是 ISO-8859-1 。它看起来像这样:enter image description here

定制板应该发送类似的内容: 0x40

所以,不确定这里最好的方法是什么(我知道我可以尝试更多的字符集)。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您是否想要猜测未知编码?查看板发送的原始字节,以检查它们是否被移位。

答案 1 :(得分:0)

您是否检查了设置 - 我怀疑奇偶校验位的设置不同。