关于几个子函数的问题
本帖最后由 49741933o 于 2014-10-27 22:54 编辑求大神解答两个问题
{:soso_e121:} {:soso_e121:}
问题一。。
#define RED 1
#define GREEN 2
#define ORANGE 3
#define redPin 9
#define greenPin 10
void flash(int color,int times,int duration) //times是闪烁次数,duration闪烁频率
{
int red = color & 0x01;//这句是什么意思啊?
int green = color >> 1; //这句是什么意思啊,求解释啊?
for(int i=0;i<times;i++)
{
digitalWrite(redPin,red);
digitalWrite(greenPin,green);
delay(duration/2);
digitalWrite(redPin,LOW);
digitalWrite(greenPin,LOW);
delay(duration/2);
}
}
flash函数的用法:如,flash(RED,1,500);
谁能分析一下这个子函数呀?先谢谢啦!
{:soso_e121:} {:soso_e121:}
问题二。。。
可不可以解释下EEPROM是怎样存数据的和读取数据的?有关于它的资料可不可以提供一下?对它很陌生,但是它又很重要。
本帖最后由 林定祥 于 2014-10-28 10:43 编辑
问题一都是涉及位操作,第一个是Color值和0000001进行"与"操作,也即color得到的数其他位清零,最右位有"1"得"1",由"0"得"0",
color>>1 是将color值右移一位.
林定祥 发表于 2014-10-28 10:41 static/image/common/back.gif
问题一都是涉及位操作,第一个是Color值和0000001进行"与"操作,也即color得到的数其他位清零,最右位有"1"得" ...
Color和0x01进行与操作,它们的操作原理知道了,但是它这样操作有什么用呢?最终结果形式又是怎样的?你可不可以拿这个函数举例说明呢?
另外可不可以详细解释下右移这个操作以及它这样操作的目的?
:loveliness:
谢谢!
页:
[1]