-3

助けてください。アナログ シンセを作成するための古いコードがあり、teensy 2.0 でコンパイルできません。Arduino 1.6.9 と teensyduino 1.29 を使用 しています エラーのある完全なコード

エラー ログ: 'void ( )(uint8_t, unsigned int) {aka void ( )(unsigned char, unsigned int)}' から 'void ( )(uint8_t, int) {aka void ( )(unsigned char, int)への無効な変換)}' [-fpermissive]

function: 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++ を知らないので、このバグを修正する方法についてあなたの助けが必要です!

4

1 に答える 1

-1

この問題は、おそらく次の式に関連しています。 usbMIDI.setHandlePitchChange(doBend);

この式doBendでは、関数へのポインターとして動作します。関数のパラメータの型を確認していただけますsetHandlePitchChangeか?

于 2016-08-22T17:41:57.243 に答える