2016-08-22 19 views
-3

助けてください。私はアナログシンセを作るために古いコードを持っており、それがteensy 2.0でコンパイルカント、私はArduinoの1.6.9を使用してteensyduino 1.29 Full code with errorsunsigned intはプロジェクトでは動作しません

エラーログ:無効()」から無効な変換(uint8_t、unsigned int型){別名ボイド()(uint8_t、INT){別名ボイド()(unsigned char型、INT)}ここで[-fpermissive]

ミス「'の空隙()(unsigned char型、unsigned int型)}関数を使用します: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

あなたの答えはコメントでなければならないようです。そして、はい、私はあなたがまだコメントできないことを知っています。 –

関連する問題