|
楼主 |
发表于 2012-4-25 10:46:34
|
显示全部楼层
本帖最后由 davidce 于 2012-4-25 10:48 编辑
风尘检测传感器相关代码: - while(goloop) //loop
- {
- currentMillis = micros();
- if(currentMillis<previousMillis)
- {
- partMillis = 4294967295 - previousMillis +1;
- previousMillis = 0;
- }
- if(currentMillis - previousMillis - partMillis < mintev)
- {
- //1.0
- if(temp1_0==0)
- {
- temp1_0=-1;
- temp1_0=pulseIn(DSMPin1_0, LOW);
- }
- if(temp1_0>0)
- {
- duration1_0 =duration1_0 + temp1_0;
- temp1_0=0;
- }
- //2.5
- if(temp2_5==0)
- {
- temp2_5=-1;
- temp2_5=pulseIn(DSMPin2_5, LOW);
- }
- if(temp2_5>0)
- {
- duration2_5 =duration2_5 + temp2_5;
- temp2_5=0;
- }
- }
- else
- {
- goloop=false;
- previousMillis=currentMillis;
- }
- }
- double per =double(duration1_0)/double(interval);// had multiply 1000
- int pcs1_0 = -1;
- pcs1_0 = per * 50.0;
- per =double(duration2_5)/double(interval);// had multiply 1000
- int pcs2_5 = -1;
- pcs2_5 = per * 50.0;
复制代码 |
|