пожалуйста помоги. У меня есть старый код для создания аналогового синтезатора и не могу скомпилировать его на Teensy 2.0, я использую Arduino 1.6.9 и Teensyduino 1.29
Полный код с ошибками
Журнал ошибок: недопустимое преобразование из ‘void () (uint8_t, unsigned int) {aka void () (unsigned char, unsigned int)} ‘to’ void () (uint8_t, int) {aka void () (unsigned char, int)} ‘[-fpermissive]
Ошибка здесь, когда используете функцию: doBend;
void doBend(byte channel, unsigned int bend_usb) {
byte chip_select = channel / 4;
channel = channel % 4;
bendMSB = bend_usb >> 7;
bendLSB = bend_usb % B01111111;
if(channel >=0 && channel <= 2) {
bend_MSB[channel + (chip_select * 4)] = bendMSB;
bend_data[channel + (chip_select * 4)] = bend_MSB[channel + (chip_select * 4)];
writeFrequency(pitchData[channel + (chip_select * 4)], channel, chip_select);
}
}
Arduino не знает «unsigned int bend_usb».
Я не знаю с ++ и нуждаюсь в вашей помощи, как исправить эту ошибку!
Проблема, вероятно, связана с этим выражением:
usbMIDI.setHandlePitchChange(doBend);
В этом выражении doBend
ведет себя как указатель на функцию. Не могли бы вы проверить тип параметра setHandlePitchChange
функционировать?
Других решений пока нет …