[STM8] 无线解码程序(c语言)

[复制链接]
 楼主| xxiao6130 发表于 2013-8-22 18:52 | 显示全部楼层 |阅读模式
编码规则
时间单位:uS(微秒)
H:表示高电平
L:表示低电平
BIT_1=640H+640L
BIT_0=640L+640H
启始位:2540H+2540L+640H
数据体:
ADDR2+ADDR1+ADDR0+WORK+WORK+LOW_0
地址码高+地址码中+地址码低+操作码+操作码+操作码最低位(01,如果操作码最低位是0则这个字节=0x00,反之=0x01
结束位:640H+640L
//操作码定义
#define __cst_learn                 0x01    //学码
#define __cst_open                  0x02    //
#define __cst_stop                  0x03    //
#define __cst_close                 0x04    //
#define __cst_m                     0x07    //到达中间位,通过长按停止键一秒钟实现
#define __cst_stop_open             0x09    //启用手拉功能
#define __cst_stop_close            0x0a    //停用手拉功能
#define __cst_select_l_open         0x10    //新增指令,设置中间位
#define __cst_select_l_stop         0x05    //换向
#define __cst_select_l_close        0x12    //新增指令,取消中间位
#define __cst_select_r_open         0x0d    //新增指令,设置开预留
#define __cst_select_r_stop         0x0e    //新增指令,恢复出厂预留
#define __cst_select_r_close        0x0f    //新增指令,设置关预留
1849097455 发表于 2013-8-22 19:53 | 显示全部楼层
不会,顶一下,哪位高手会就告诉大家一下
trumpxp 发表于 2013-8-22 20:05 | 显示全部楼层
这个确实不会  楼主  帮你顶一个   看看别人的意见吧
 楼主| xxiao6130 发表于 2013-8-23 10:20 | 显示全部楼层
1849097455 发表于 2013-8-22 19:53
不会,顶一下,哪位高手会就告诉大家一下

你找到了,记得分享!
hificwc 发表于 2013-8-23 11:58 | 显示全部楼层
楼主要干嘛
Regsen 发表于 2013-8-23 13:43 | 显示全部楼层
无线解码是什么概念,哪个无线的。
席君秋 发表于 2013-8-23 14:14 | 显示全部楼层
呵呵,曼彻斯特编码规则。从操作码定义看,楼主是电动窗帘行业的。
1849097455 发表于 2013-8-23 14:24 | 显示全部楼层
跟遥控控制有关的,遥控器发出一连串高低电平,解码之后送给单片机。有谁会吗?

评分

参与人数 1威望 +3 收起 理由
xxiao6130 + 3 神马都是浮云

查看全部评分

1849097455 发表于 2013-8-23 14:25 | 显示全部楼层
席君秋 发表于 2013-8-23 14:14
呵呵,曼彻斯特编码规则。从操作码定义看,楼主是电动窗帘行业的。

是的。你知道解码吗?谢谢。
yiucing 发表于 2013-8-23 14:36 | 显示全部楼层
怎么编码都知道了,为嘛不懂解码。。
hificwc 发表于 2013-8-23 15:31 | 显示全部楼层
为什么那么多操作码
 楼主| xxiao6130 发表于 2013-8-23 15:41 | 显示全部楼层
hificwc 发表于 2013-8-23 15:31
为什么那么多操作码

第一个操作码和第二个操作码是一样的话,就是有效的数据,他们的最低位与操作码最低位相等则本次接收的信号有效,可以执行相应的操作。
tergy2012 发表于 2013-8-23 16:09 | 显示全部楼层
路过学习的
hificwc 发表于 2013-8-23 17:08 | 显示全部楼层
xxiao6130 发表于 2013-8-23 15:41
第一个操作码和第二个操作码是一样的话,就是有效的数据,他们的最低位与操作码最低位相等则本次接收的信 ...

两个操作码都是一样的?LOW_0只是一个bit位吗
 楼主| xxiao6130 发表于 2013-8-23 18:31 | 显示全部楼层
hificwc 发表于 2013-8-23 17:08
两个操作码都是一样的?LOW_0只是一个bit位吗

是的,用来校验的
ling753971086 发表于 2013-8-23 18:53 | 显示全部楼层
学习
 楼主| xxiao6130 发表于 2013-8-24 08:17 | 显示全部楼层
yiucing 发表于 2013-8-23 14:36
怎么编码都知道了,为嘛不懂解码。。

编码又不是我搞的,老板要求解这种编码
席君秋 发表于 2013-8-24 14:26 | 显示全部楼层
用定时器的“捕捉功能”,记录上升沿和下降沿的时刻,计算出脉冲宽度,再根据曼彻斯特编码的特点,即可把数据帧解码出来。
 楼主| xxiao6130 发表于 2013-8-24 15:45 | 显示全部楼层
席君秋 发表于 2013-8-24 14:26
用定时器的“捕捉功能”,记录上升沿和下降沿的时刻,计算出脉冲宽度,再根据曼彻斯特编码的特点,即可把数 ...

要解码的信号已经接在了定时器1通道2上,定时器1的通道1用于产生PWM信号了,请问定时器1的捕捉功能还可以用吗?
秋天落叶 发表于 2013-8-24 17:47 | 显示全部楼层
这个难度应该不小
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

676

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部