仪器社区

这个ADC0832数据采集程序中 Dat1|=0x80>>i;这句话什么意思,求大侠指点

繁闹windy 2013-04-12
/--------ADC0832数据采集程序------------------------------------------------------------------ucharadc0832_data(){uchari,Dat1=0,Dat2=0;CLK=0;DI=1;CS=0;_nop_();CLK=1;//diyi... /--------ADC0832数据采集程序------------------------------------------------------------------
uchar adc0832_data()
{
uchar i,Dat1=0,Dat2=0;
CLK = 0;DI = 1;CS = 0;_nop_();CLK = 1;//diyi个上升沿
CLK = 0;DI = 1;_nop_();CLK = 1;//第二个上升沿 DI=1表示 双通道 单极性 输入
CLK = 0;DI = 0;_nop_();CLK = 1;//第三个上升沿 DI=0表示选择通道1(CH0)
_nop_();CLK = 0;//第四个下降沿 开始输出转换数据
for(i=0;i<8;i++)//读取8位数据
{
CLK = 1;
CLK = 0;
_nop_();
if(DO) Dat1|=0x80>>i;
} for(i=0;i<8;i++)//读取8位相反数据 { if(DO) Dat2|=0x01<
全部评论
Dat1|=0x80>>i等效于

Dat1= Dat1 | (0x80>>i)

解释:
(0x80>>i):0x80右移i位(也就是1000 0000 右移);
然后是 Dat1 = 前 Dat1 “或” (0x80>>i)
8 0 2013-04-13 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论