приведу простой пример, уже отписался по этой проблеме в другом разделе, но продублирую
Приведу пример скетча который нормально собирается сам по себе.
#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
// Variables:
int cc = 1;
int AnalogValue = 0; // define variables for the controller data
int lastAnalogValue = 0; // define the "lastValue" variables
void setup() {
// launch MIDI
MIDI.begin();
}
void loop() {
AnalogValue = analogRead(15); //knob 1 cutoff
// convert to a range from 0 to 127:
cc = AnalogValue / 8;
// check if analog input has changed
if (abs(lastAnalogValue - cc) > 1) {
MIDI.sendControlChange(1, cc, 1);
// update lastAnalogValue zero variable
lastAnalogValue = cc;
}
}
исходный скетч собрался нормально. Создал блок, вот что сделал с кодом FLProg
#include <MIDI.h>
// Variables:
int cc_235447159_1= 1;
int AnalogValue_235447159_1= 0; // define variables for the controller data
int lastAnalogValue_235447159_1= 0; // define the "lastValue" variables
int _PWDC = 0;
bool _gtv1 = 1; //импульс выйти из меню
bool _gtv2 = 1; //войти в меню
bool _gtv3 = 0; //активно главное меню
bool _gtv4 = 1;
int _gtv5 = 150;
int _gtv6 = 950;
int _gtv7 = 38;
bool _gtv8 = 0;
int _gtv9 = 5;
int _gtv10 = 71;
int _gtv11 = 500;
int _gtv13 = 150;
int _gtv14 = 48;
int _gtv15 = 950;
bool _gtv16 = 0;
int _gtv17 = 100;
int _gtv18 = 28;
int _gtv19 = 950;
bool _gtv20 = 0;
int _gtv21 = 150;
int _gtv22 = 45;
int _gtv23 = 950;
bool _gtv24 = 0;
int _gtv25 = 150;
int _gtv26 = 43;
int _gtv27 = 950;
bool _gtv28 = 0;
int _gtv29 = 150;
bool _gtv32 = 0;
int _gtv33 = 100;
int _gtv34 = 49;
int _gtv35 = 800;
bool _gtv36 = 0;
int _gtv37 = 100;
int _gtv38 = 57;
int _gtv39 = 800;
bool _gtv40 = 0;
int _gtv41 = 1;
bool _gtv42 = 1;
int _gtv44 = 100;
int _gtv45 = 800;
bool _gtv46 = 0;
int _gtv47 = 51;
int _gtv48 = 800;
int _gtv49 = 100;
int _gtv50 = 117;
bool _gtv51 = 0;
int _gtv52 = 52;
int _gtv53 = 800;
int _gtv54 = 100;
bool _gtv55 = 0;
int _gtv56 = 100;
int _gtv57 = 90;
bool _gtv58 = 0;
int _gtv59 = 800;
int _gtv60 = 100;
int _gtv61 = 800;
bool _gtv62 = 0;
int _gtv63 = 46;
bool _gtv65 = 0;
bool _gtv66 = 0;
int _gtv68 = 36;
int _gtv71 = 700;
int _gtv74 = 200;
int _gtv75 = 600;
int _gtv76 = 44;
int _gtv77 = 800;
int _gtv67 = 3;
int _gtv69 = 3;
int _gtv70 = 3;
int _gtv73 = 1;
int _gtv78 = 3;
int _gtv79 = 3;
int _gtv80 = 3;
int _gtv81 = 1;
int _gtv82 = 1;
int _gtv83 = 1;
int _gtv84 = 1;
int _gtv85 = 1;
int _gtv88 = 1;
int _gtv89 = 0;
int _gtv90 = 0;
int _gtv64 = 1;
void setup()
{
TCCR2A = 0x00;
TCCR2B = 0x07;
TIMSK2=0x01;
TCNT2=100;
pinMode(3, INPUT);
digitalWrite(3, HIGH);
pinMode(22, INPUT);
digitalWrite(22, HIGH);
pinMode(23, INPUT);
digitalWrite(23, HIGH);
pinMode(2, INPUT);
digitalWrite(2, HIGH);
pinMode(24, INPUT);
digitalWrite(24, HIGH);
pinMode(25, INPUT);
digitalWrite(25, HIGH);
MIDI_CREATE_DEFAULT_INSTANCE();
void setup() {
// launch MIDI
MIDI.begin();
}
void loop()
{_PWDC = 0;
//Плата:1
void loop() {
AnalogValue_235447159_1 = analogRead(15); //knob 1 cutoff
// convert to a range from 0 to 127:
cc_235447159_1 = AnalogValue_235447159_1 / 8;
// check if analog input has changed
if (abs(lastAnalogValue_235447159_1 - cc_235447159_1) > 1) {
MIDI.sendControlChange(1, cc_235447159_1, 1);
// update lastAnalogValue_235447159_1 zero variable
lastAnalogValue_235447159_1 = cc_235447159_1;
}
}
}
ISR(TIMER2_OVF_vect)
{ TCNT2=100;
if(_PWDC >= 1000){asm volatile ("jmp 0x0000");}else{_PWDC = _PWDC+1;};
}
и ладно бы сделал, но в void loop() программа дописала {_PWDC = 0; после чего отказалась компилировать, что происходит???

а вы хотите запилить обратный процесс... тут жестокая конвертация кода с ассемблерными вставками или командами, поди разбери... + глюки при сборке с последующим крашем.