各位前辈,我现在用F113和SYN450R做无线通信,通信协议为
前导码+引导码+数据
其中前导码为10个脉宽为2ms的高低电平,引导码为4ms低电平
数据0:400us高电平600us低电平
数据1:600us高电平400us低电平
由于SYN450R即使在空闲时,数据输出端也有不规则的方波,所以在编写接收程序是没有采用中断方式,而是采用查询的方式进行解码。
安照前导码和引导码的规律只要检测到有前导码的2ms低电平紧接着有4ms的低电平就认为后边的就是数据,在检测这些前导码和引导码时,比如刚进入接收程序我检测到低电平,我就等待高电平到来,以这个高电平时刻为基准,每200us检测一次,共检测10次,只要有一次为低电平,就不认为是前导码而退出,同样刚进入接收程序我检测到是高电平,我就等待低电平的到来,每200us检测一次,共检测10次,只要有一次为低电平,我也认为不是前导码而退出,如果都符合这样的规律,我就按照这个规律走,直到检测过引导码到数据为止。
然后按照数据0数据1的高低电平时间的不同来解码。
现在问题是,数据接收不灵敏,有串码问题存在。
请教各位大侠,我这样处理有什么问题吗?第一次接触无线产品,请各位不吝赐教,谢谢 |