请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
查看: 480|回复: 1

[已解决] 红外遥控 求助

[复制链接]

5

主题

23

帖子

123

积分

注册会员

Rank: 2

积分
123
发表于 2020-11-23 17:35:29 | 显示全部楼层 |阅读模式
5金钱
void main()
{       
        IrInit();
        while(1)
        {       
                DisplayData[0] = smgduan[IrValue[1]/16];
                DisplayData[1] = smgduan[IrValue[1]%16];
                DisplayData[2] = smgduan[IrValue[2]/16];
                DisplayData[3] = smgduan[IrValue[2]%16];
                DisplayData[6] = smgduan[16];
                DigDisplay();               
        }               
}

求助 smgduan[IrValue[1]/16];    代码中16 代表什么意思      IrValue[1] 数组中保存的不是0101 0101 的二进制数据么

刚开始接触 求老师傅指导

最佳答案

首先:你给出的这部分代码,是给显示缓存赋值。 第二:不知你是否已经知道 smgduan【】就是保存接收到的红外编码,这个码是8位的。 第三:结合上述内容就可以这样思考: 1、要显示的这个数据,用什么方式显示?是 ...

回复

使用道具 举报

20

主题

1315

帖子

6365

积分

论坛元老

Rank: 8Rank: 8

积分
6365
发表于 2020-11-24 08:09:12 | 显示全部楼层
首先:你给出的这部分代码,是给显示缓存赋值。
第二:不知你是否已经知道 smgduan【】就是保存接收到的红外编码,这个码是8位的。
第三:结合上述内容就可以这样思考:
1、要显示的这个数据,用什么方式显示?是二进制,还是十进制,或是十六进制?这个16,就是十六进制
2、/16,就是取数据的高四位,%16就是取数据的低四位
3、如果想用十进制显示,那么,应该是这样:
因为最大255,所以要三条语句才能完成显示:/100、/10、%10
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2021-1-25 14:33 , Processed in 0.078128 second(s), 23 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2020, Tencent Cloud.

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