矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 2990|回复: 5

红外遥控解码对不上!

[复制链接]
     
发表于 2018-2-6 00:38:35 | 显示全部楼层 |阅读模式
本帖最后由 生鱼片 于 2018-2-6 00:51 编辑

折腾了一天把红外遥控解码调试好了,用电脑串口接收也能正确显示对应遥控板按键的4字节编码值。
可是就是没法用来遥控开发板上的P1灯点亮,是不是我写的点灯程序有错。
两个按键对应的按键编码分别是 开灯键=00 ff 45 ba 和 关灯键=00 ff 15 ea。 现在开发板已经能正确接收和解码这个按键信号,通过串口发送电脑能成功接收这两组解码后的信号,且完全相符,现在搞不懂的就是没法通过判断这两组信号来点亮P1口的灯。程序错在哪里呢!
感谢老师!
补充一句: 开头的if之上有个b=0,清零语句,截图只是没截到而已!
截图.jpg
     
发表于 2018-2-6 01:22:26 | 显示全部楼层
你的i递增有问题了
回复 支持 反对

使用道具 举报

     
发表于 2018-2-6 10:45:30 | 显示全部楼层
P1是一个字节,对应了8个位,你试试P1^1 = ~P1^1;还一个就是看不懂你的i 和b
回复 支持 反对

使用道具 举报

     
发表于 2018-2-6 17:00:13 | 显示全部楼层
简燕 发表于 2018-2-6 12:07
变量b的自加逻辑有问题. b++  和 ++b 的执行逻辑不一样.

下面临时用Bb替代b,论坛代码会把"["b"]"当成控 ...

楼上正解!
或将{i=b++;}改成{b++; i=b;}也能通过。
回复 支持 反对

使用道具 举报

     
发表于 2018-2-7 09:21:44 | 显示全部楼层
代码中自增用法有问题,判断逻辑也不是很符合NEC协议。
协议要求第3字节和第4字节互为反码,对第1字节和第2字节也有此建议但不做强制要求。
回复 支持 反对

使用道具 举报

     
发表于 2018-2-9 18:22:56 | 显示全部楼层
你的数组里的b++是和谭浩强学的吧?这是一种垃圾的写法,程序要以人能简单看懂为第一要务!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-30 08:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表