2016-08-22 2 views
-3

, пожалуйста, помогите. У меня есть старый код для создания аналоговых синтезаторов и не могу скомпилировать его на 2,0 крошечный, я использую Arduino 1.6.9 и teensyduino журнал 1,29 Full code with errorsunsigned int не работает над проектом

Ошибка: неправильное преобразование из «пустого () (uint8_t, беззнаковое целое) {ака недействительный () (неподписанный символ без знака целое)}»в 'пустоты () (uint8_t, Int) {аке аннулируется () (неподписанный символ, 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». Я не знаю C++ и вам нужна ваша помощь, как исправить эту ошибку!

+3

«Я не знаю, что я делаю, исправьте это для меня», как правило, не идет хорошо. –

+1

какая функция подпишет 'usbMIDI.setHandlePitchChange' ожидает своего аргумента? – jaggedSpire

ответ

-1

Проблема, вероятно, связано с этим выражением: usbMIDI.setHandlePitchChange(doBend);

В этом выражении doBend ведет себя как указатель на функцию. Не могли бы вы проверить тип параметра функции setHandlePitchChange?

+1

'int' будет автоматически передаваться в' unsigned int. Похоже, что сигнатура функции не соответствует требуемой сигнатуре указателя функции. –

+0

Это правда, я редактировал свой ответ в то же время, когда вы отвечаете мне. – smateo

+2

Теперь ваш ответ выглядит как комментарий. И да, я знаю, что вы еще не можете комментировать. –

Смежные вопросы