极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10952|回复: 2

关于PS2手柄编程语句的问题,求回答!!!

[复制链接]
发表于 2015-10-30 15:56:07 | 显示全部楼层 |阅读模式
//读取手柄数据
void PS2_ReadData()
{
volatile u8 byte=0;
volatile u16 ref=0x01;
CS_L;
PS2_Cmd(Comd[0]); //开始命令
PS2_Cmd(Comd[1]); //请求数据
for(byte=2;byte<9;byte++) //开始接受数据
{
for(ref=0x01;ref<0x100;ref<<=1)
{
CLK_H;
CLK_L;
delay_us(50);
CLK_H;
if(DI)
Data[byte] = ref|Data[byte];
}
delay_us(50);
}
CS_H;
}

这里边的“Data[byte] = ref|Data[byte];”是干什么用的,“ref|Data[byte]”起什么作用???
ref是干什么用的,求回答,多谢了。
回复

使用道具 举报

 楼主| 发表于 2015-10-30 16:04:19 | 显示全部楼层
求教啊,着急
回复 支持 反对

使用道具 举报

发表于 2015-10-31 10:45:10 | 显示全部楼层
ref用来帮助Data[byte] 存放读取DI的值。for(ref=0x01;ref<0x100;ref<<=1)连续读8位,根据DI的值,将8位数据放入Data[byte] 。


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 23:27 , Processed in 0.042042 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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