Binary 240位雷达字

Binary 240位雷达字,binary,serial-port,arduino,ls,octal,Binary,Serial Port,Arduino,Ls,Octal,我有一个使用240位八进制数据格式的项目,该格式将在Arduino uno的串行端口2.4K RS232转换为TTL 240位和其他东西有距离、方位角和仰角,这是我需要显示的 帧以帧同步代码开始,该代码为交替二进制7位代码,即: 机架1和机架1的1110010 0001101用于第2帧,依此类推 我在想我可能会使用像val=serial.read这样的命令 if (val = 1110010 or 0001101) { data++val; }` 这将让我验证我的刺的开始 240位八进制帧所

我有一个使用240位八进制数据格式的项目,该格式将在Arduino uno的串行端口2.4K RS232转换为TTL

240位和其他东西有距离、方位角和仰角,这是我需要显示的

帧以帧同步代码开始,该代码为交替二进制7位代码,即: 机架1和机架1的1110010 0001101用于第2帧,依此类推

我在想我可能会使用像val=serial.read这样的命令

if (val = 1110010 or 0001101) { data++val; }` 
这将让我验证我的刺的开始

240位八进制帧所有数字的其余部分可以串行读取到一个字符串,其中只有部分需要打印到屏幕上

经过帧同步,所有八进制数据都是串行的,没有空值或分隔符,所以我认为

printf("%.Xs",stringname[xx]);
将允许我根据需要对字符进行偏移,以便将其解析出来


我如何告诉程序它要查找的帧同步是二进制的,或者需要输入字符串的数据是八进制的,或者可能需要转换为在屏幕上读取?

您确定这是作为异步数据输入的,这是Arduino中的串行对象所理解的吗?这听起来像是一个同步串行流-这是非常不同的。通常情况下,其中一条同步信号线称为时钟或时钟。这就是数据捕获的方式,有时波特率不会被指定,或者是不寻常的。八进制数据格式是什么意思?收到的数据是什么样子的?你能展示一个输入流的例子吗?stringname[xx]是一个字符,而不是一个字符串。您至少需要&stringname[xx]。它还必须是零端。串行端口…在2.4K RS232转换为TTL。-对于UART,RS232电平始终转换为TTL。所以波特率是2400。其他串行端口属性是什么,例如字符长度、奇偶校验和停止位?7位的同步字符是否意味着7位字符长度?240位可以是34+1*7或30*8;也就是说,根据串行端口字符大小的设置方式,读取可能返回34+1或30字节。或者这真的是一个位字符串?对不起,我之前没有说,是的,这是一个真正的位字符串,最初是一个240位的RS232 2.4K同步位字符串。我使用MAS7838芯片将Arduino串行接口的同步字符串转换为异步。原始同步帧是位字符串。前7位与我所说的帧或字符串开头相同。233位字符串的其余部分有一些字段,如位45-57可能用于提升,位78-80可能用于范围。这一切都用八进制表示。我会试着给你一份整帧的拷贝。