MIDI was not declorated in this scope
- Войдите на сайт для отправки комментариев
Вс, 26/11/2017 - 10:50
В чем проблема ? При компиляции пишет : 'MIDI' was not declorated in this scope везде , где есть MIDI.*функця*
#include <MIDI.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(21, 22, 23, 24, 25, 26);
int delayTime = 400;
void setup() {
MIDI.begin(MIDI_CHANNEL_OMNI);
lcd.begin(16,4);
}
void loop() {
int type, channel, number;
if (MIDI.read()) {
byte type = MIDI.getType();
switch (type) {
case midi::NoteOn:
channel = MIDI.getChannel();
number = MIDI.getData1();
lcd.setCursor(0,0);
lcd.print(String("Note On") + (",Note#") + number);
lcd.setCursor(0,1);
lcd.print(String("Chan ") + channel + (",Value ") + MIDI.getData2());
delay(delayTime);
lcd.clear();
break;
case midi::NoteOff:
channel = MIDI.getChannel();
lcd.setCursor(0,0);
lcd.print(String("Note On") + (",Note#") + number);
lcd.setCursor(0,1);
lcd.print(String("Chan ") + channel + (",Value ") + MIDI.getData2());
delay(delayTime);
lcd.clear();
break;
case midi::ControlChange:
channel = MIDI.getChannel();
number = MIDI.getData1();
lcd.setCursor(0,0);
lcd.print(String("Ctl.Ch") + (", CC#") + number);
lcd.setCursor(0,1);
lcd.print(String("Chan ") + channel + (",Value ") + MIDI.getData2());
delay(delayTime);
lcd.clear();
break;
case midi::ProgramChange:
channel = MIDI.getChannel();
number = MIDI.getData1();
lcd.setCursor(0,0);
lcd.print(String("Prog.Ch") + (",Pgrm#") + number);
lcd.setCursor(0,1);
lcd.print(String("Chan ") + channel + (",Value ") + MIDI.getData2());
delay(delayTime);
lcd.clear();
break;
case midi::AfterTouchPoly:
channel = MIDI.getChannel();
lcd.setCursor(0,0);
lcd.print("After Touch Poly:");
lcd.setCursor(0,1);
lcd.print(String("Chan ") + channel + (",Value ") + MIDI.getData2());
delay(delayTime);
lcd.clear();
break;
case midi::AfterTouchChannel:
channel = MIDI.getChannel();
lcd.setCursor(0,0);
lcd.print("After Touch Channel");
lcd.setCursor(0,1);
lcd.print(String("Chan ") + channel + (",Value ") + MIDI.getData2());
delay(delayTime);
lcd.clear();
break;
case midi::PitchBend:
channel = MIDI.getChannel();
lcd.setCursor(0,0);
lcd.print("Pitch Bend");
lcd.setCursor(0,1);
lcd.print(String("Chan ") + channel + (",Value ") + MIDI.getData2());
delay(delayTime);
lcd.clear();
break;
case midi::SystemExclusive:
channel = MIDI.getChannel();
lcd.setCursor(0,0);
lcd.print("Sysex");
lcd.setCursor(0,1);
lcd.print(String("Chan ") + channel + (",Value ") + MIDI.getData2());
delay(delayTime);
lcd.clear();
break;
}
}
}
Оговорюсь сразу. Не тестировал midi и не сталкивался. Решил погуглить и скомпилить сам.
Нашел это
http://forum.arduino.cc/index.php?topic=265802.0
Говорят добавить после include
Спасибо большое , помогло