So ich gebe auf habe alles Probiert die MIDI.h zum laufen zu kriegen. Geht nicht mit dem Teensy 3.1!
Es werden keine Mididaten empfangen an RX1 Pin 0.
Ich sende ProgramChange auf Midikanal 1!
Welche Version ist für den Teensy die richtige es gibt drei . Ich arbeite grade mit 4.2.
https://www.pjrc.com/teensy/td_libs_MIDI.html
Hier noch mal der Sketch der erst laufen soll damit ich später mit den Callbacks weitermachen kann. Was muss ich in diesem Skech ändern damit das ganze lauft. LED2 soll bei eingang von
ProgramChange auf Midikanal 1 blinken. Das kann doch nicht so schwer sein oder ? Die LED1 blinkt und das war es dann
Gruß Michael
#include <MIDI.h>
#include <midi_Defs.h>
#include <midi_Message.h>
#include <midi_Namespace.h>
#include <midi_Settings.h>
//Teensy 3.1
MIDI_CREATE_INSTANCE(HardwareSerial,Serial1,MIDI);
// -----------------------------------------------------------------------------
// This example shows the old way of checking for input messages.
// It's simpler to use the callbacks now, check out the dedicated example.
#define LED1 13 // LED pin on Arduino Uno
#define LED2 14
// -----------------------------------------------------------------------------
void BlinkLed1(byte num) // Basic blink function
{
for (byte i=0;i<num;i++)
{
digitalWrite(LED1,HIGH);
delay(50);
digitalWrite(LED1,LOW);
delay(50);
}
}
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
void BlinkLed2(byte num) // Basic blink function
{
for (byte i=0;i<num;i++)
{
digitalWrite(LED2,HIGH);
delay(50);
digitalWrite(LED2,LOW);
delay(50);
}
}
// -----------------------------------------------------------------------------
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
MIDI.begin(); // Launch MIDI, by default listening to channel 1.
}
void loop()
{
BlinkLed1(5);
if (MIDI.read()) // Is there a MIDI message incoming ?
{
switch(MIDI.getType()) // Get the type of the message we caught
{
case midi:
rogramChange: // If it is a Program Change,
BlinkLed2(MIDI.getData1()); // blink the LED a number of times
// correponding to the program number
// (0 to 127, it can last a while..)
break;
// See the online reference for other message types
default:
break;
}
}
}