我想搞懂,刚接触,各位看一下这个程序。
zigbee吧
全部回复
仅看楼主
level 1
这是一个CC2530单片机输出的C文件。请问下面FOR循环里面的语句各是什么意思???
#include "led.h"
void INIT_LED(void)
{
P1SEL &= ~0xFF;
P1DIR |= 0xFF;
P1 = 0;
}
void LEDprintf(unsigned char data,unsigned char byte)
{
unsigned char bits = 0;
unsigned char get_bit = 0x80;
P1 |= byte;
RCK = LOW;
SRCK = LOW;
for(bits = 8;bits > 0;bits --)
{
if(data & get_bit)
SER = 1;
else
SER = 0;
SRCK = HIGH;
get_bit >>= 1;
SRCK = LOW;
}
RCK = HIGH;
}
2015年12月16日 04点12分 1
level 1
~!
2015年12月16日 05点12分 2
level 7
for(bits = 8;bits > 0;bits --)
{
if(data & get_bit)
SER = 1;
else
SER = 0;
SRCK = HIGH;
get_bit >>= 1;
SRCK = LOW;
}
本质就是判断data bit7:bit6....bit0是否为1,为1则SER = 1;,否则SER = 0;
省去一个变量的写法,简写成
for(bits = 8;bits > 0;bits --)
{
( data & ( 1 << (bits - 1) ) ) ? (SER = 1) : (SER = 0);
SRCK = HIGH;
//get_bit >>= 1;
SRCK = LOW;
}
2015年12月17日 07点12分 3
level 7
2530视频学习TinyOS 加QQ群312145492
视频观看:http://training.eeworld.com.cn/course/3520
2015年12月17日 07点12分 4
1