极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9798|回复: 1

编译失败求指教。下载国外的一个项目测试程序。

[复制链接]
发表于 2015-6-21 13:36:09 | 显示全部楼层 |阅读模式
#define RawInput = 0
#define filteredInput = 1

#define ActiveInput 1

void setup() {
  Serial.begin(115200);  Init serial communication

  DDRB = 0B00000000;     All inputs (high impedance)
  DDRC = 0B00000000;     All inputs (high impedance)
  DDRD = 0B00000000;     All inputs (high impedance)
  
  DDRD = 10;



  ADC setup
  ADMUX =
  (0  REFS1)
  (1  REFS0)   AVcc ref with capacitor at AREF pin
  (0  ADLAR)   Keep right adjusted
  (0  MUX3)   
  (0  MUX2)
  (0  MUX1)
  (1  MUX0);
  
  ADCSRA =
  (1  ADEN)   ADC enable
  (0  ADSC)   Dont start conversion now
  (0  ADATE)   Dont use auto trigger
  (1  ADIF)   Interrupt flag
  (1  ADIE)   Dont use interrupt
  (1  ADPS2)  ADC clock divider
  (0  ADPS1)
  (0  ADPS0);
  
  ADCSRB =
  (1  ACME)   Enable multiplexer
  (0  ADTS2)   Free running mpde
  (0  ADTS1)
  (0  ADTS0);
  
  AdcMux(ActiveInput);
  ADCSRA = (1  ADSC);  Start AD conversion;  
  
  
  
}




  #define SAMPLES_TO_AVERAGE 10000 7500

  
  
  long averageCount =0;
  long count =0;
  
    #define SAMPLES_TO_PLOT 1000  500
  int readingArray[SAMPLES_TO_PLOT+2];

  long averageMode2 =0;
  int Average_count = 1000;
  int avgIterations =0;
  
  int ScanMode = 2;
  

ISR(ADC_vect) {

         
        uint8_t low, high;
        low  = ADCL;
        high = ADCH;         
        averageMode2 += (high  8)  low; ADC;
        
                averageMode2 += ADC;
        averageMode2 += analogRead(1);
  
        avgIterations++;
        
        if (avgIterations == Average_count) {
         
  
        readingArray[count] = averageMode2  AVERAGE_COUNT_MODE2;
        count++;
        Serial.print(averageMode2);   AVERAGE_COUNT_MODE2);
        Serial.print(,);
        
        avgIterations = 0;
        averageMode2 =0;
        }
        
        AdcMux(ActiveInput);
        ADCSRA &= ~(1  ADIF);  Clear AD ready flag   
        ADCSRA = (1  ADSC);  Start AD conversion;            
        

      

        
        
        if (count == SAMPLES_TO_PLOT) {
        count =0;

          Serial.println(!);

        }
        
        
         
  
}

void AdcMux(char muxNumber) {
ADMUX=0;
ADMUX &= ~(1  MUX3);  Set to 0
ADMUX &= ~(1  MUX2);  Set to 0
ADMUX &= ~(1  MUX1);  Set to 0
ADMUX &= ~(1  MUX0);  Set to 0

ADMUX = muxNumber;
}


char string_started = 0;
char serial_data[20];  
int serial_index = 0;
  
void loop () {
      
  if (Serial.available()) {
   
   if (string_started == 1) {
     
       serial_data[serial_index++] = Serial.read();
      
       if (serial_data[serial_index-4] == 'F' && serial_data[serial_index-3] == 'H' && serial_data[serial_index-2] == 'S' && serial_data[serial_index-1] == 'S') {  
             Average_count = 100;
             serial_index = 0;
             string_started=0;
       }
      
      else if (serial_data[serial_index-4] == 'C' && serial_data[serial_index-3] == 'O' && serial_data[serial_index-2] == 'N' && serial_data[serial_index-1] == 'S') {  
             Average_count = 1000;
             serial_index = 0;     
             string_started = 0;
       }
      
      else if (serial_data[serial_index-3] == 'S' && serial_data[serial_index-2] == 'E' && serial_data[serial_index-1] == 'T') {  
            
              Average_count = 0;
             for (int i = 0; i serial_index-3; i++) {
               Average_count = Average_count10 + (serial_data[i]-48);
             }

             serial_index = 0;     
             string_started = 0;
       }      
  
      if (serial_index = 20) {
         serial_index = 0;
         string_started = 0;
      }     
      
     
   }
   
    else if (Serial.read() == '$') {
        string_started = 1;
    }   
   
   
  }
  
      
    }
回复

使用道具 举报

发表于 2015-6-28 21:56:02 | 显示全部楼层
请发一下原文件的链接。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 20:25 , Processed in 0.037409 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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