2015-07-02 2 views
1

Я пишу программу, которая требует от меня ввода ввода с последовательного монитора в Arduino. Однако у меня проблемы. Вот мой код. UPDATE: это новый код, который я создал после нескольких версий.«Чтение» не называет тип

#include <SoftwareSerial.h> 

int R1 = 20; 
int R2_2 = 20; 
int R4_7 = 20; 
int R5_6 = 20; 
int R7_5 = 20; 
int R8_2 = 20; 
int R10 = 22; 
int R15 = 20; 
int R22 = 20; 
int R27 = 20; 
int R33 = 22; 
int R39 = 20; 
int R47 = 20; 
int R56 = 20; 
int R68 = 20; 
int R75 = 20; 
int R82 = 20; 
int R100 = 20; 
int R120 = 20; 
int R150 = 20; 
int R180 = 20; 
int R220 = 20; 
int R270 = 20; 
int R330 = 20; 
int R390 = 20; 
int R470 = 20; 
int R510 = 20; 
int R680 = 20; 
int R820 = 20; 
int R1K = 20; 
int R1K5 = 20; 
int R2K2 = 20; 
int R3K3 = 20; 
int R3K9 = 20; 
int R4K7 = 20; 
int R5K6 = 20; 
int R6K8 = 20; 
int R7K5 = 20; 
int R8K2 = 20; 
int R10K = 20; 
int R15K = 20; 
int R22K = 20; 
int R33K = 20; 
int R39K = 20; 
int R47K = 20; 
int R56K = 20; 
int R68K = 20; 
int R75K = 20; 
int R82K = 20; 
int R100K = 20; 
int R150K = 20; 
int R180K = 20; 
int R220K = 20; 
int R330K = 20; 
int R470K = 20; 
int R560K = 20; 
int R680K = 20; 
int R1M = 20; 
int R1M5 = 20; 
int R2M = 20; 
int R3M3 = 20; 
int R4M7 = 20; 
int R5M6 = 20; 
int R10M = 20; 
int Resistors = R1 + R2_2 + R4_7 + R5_6 + R7_5 + R8_2 + R10 + R15 + R22  + R27 + R33 + R39 + R47 + R56 + R68 + R75 + R82 + R100 + R120 + R150 + R180 + R220 + R270 + R330 + R390 + R470 + R510 + R680 + R820 + R1K + R1K5 + R2K2 + R3K3 + R3K9 + R4K7 + R5K6 + R6K8 + R7K5 + R8K2 + R10K + R15K + R22K + R33K + R39K + R47K + R56K + R68K + R75K + R82K + R100K + R150K + R180K + R220K + R330K + R470K + R560K + R680K + R1M + R1M5 + R2M + R3M3 + R4M7 + R5M6 + R10M; 
int AClips = 11; 
int Blue_LED = 50; 
int RGB_LED = 1; 
int Yellow_LED = 10; 
int Red_LED = 16; 
int Button = 102; 
int Carbon_Film = 2; 
int Ambient_Light_Sensor = 10; 
int Laser_Diode = 9; 
int photocell = 1; 
int Piezo_Buzzer = 1; 
int Relay = 1; 
int Transistor_2N2222A = 1; 
int Transistors = 0 + Transistor_2N2222A; 
int Servo = 1; 
int Diode_1N4148 = 2; 
int Diodes = Diode_1N4148; 

//This next line is the line that was highlighted 
read.Serial(searchedItem); 

void setup() { 
//setup code here, to run once: 
Serial.begin(9600); 
} 

void loop() { 
//loop code here, to run forever: 
if (Serial.available() > 0) { 
    // read the incoming byte: 
    searchedItem = Serial.read(); 
    //Code here 
    if (searchedItem == "Red LED", "red led", "Red led") { 
    searchedItem = Red_LED; 
    if (searchedItem => 1) { 
    Serial.println("\nFound!\nYou have ", Red_LED, "Red LEDs"); 
     } 
    } 
    } 
} 

ответ

0

У вас есть код вне функций. Вы не можете этого сделать, поэтому линия была «подсвечена».

+0

Так я переехал эти 2 строки кода в области петли и теперь вместо того, чтобы это отображение «Чтение не было объявленный в этой области » – user3626512

0

Этот код не внутри какой-либо функции:

read.Serial(searchedItem); 

Кроме того, функция Serial.read. И вы должны убедиться, что имеющиеся данные в буфере с Serial.available() попробовать что-то вроде, что внутри loop():

if (Serial.available() > 0) { 
    // read the incoming byte: 
    incomingByte = Serial.read(); 
    //Your code here 
} 
+0

Быстрый вопрос:« Этот код не находится внутри какой-либо функции », вы имеете в виду, что код должен быть в функции или нет? Также, если он должен быть в функции, петле или настройке? – user3626512

+0

Arduino запускает первую «setup()», а затем перебирает «loop()», поэтому любой код из этих функций может быть только объявлением функции или переменной. Это похоже на то, что у вас есть что-то вроде: main() {setup(); while (true) {loop();}} в типичной программе C/C++. – jabujavi

+0

Чтобы подвести итог, должен ли я поместить Serial.read (searchItem); в настройке? @jabujavi – user3626512