void controll_motor(int val){ if (val > 0){ digitalWrite(DIR, HIGH); } else{ digitalWrite(DIR, LOW); } DAC_send(0x00, abs(val)); }
void WAVE_synthtick(){ uint8_t i, wavesDown; uint16_t waveOut = 0; wavesDown = 0; for(i = 0; i < 4; i++){ if(waveInfo[i].waveInit){ if(waveInfo[i].waveReadPos != 0){ wavesDown++; waveOut += waveData[(int)waveInfo[i].waveReadPos] * ((float)(getVolume())/10); waveInfo[i].waveReadPos += waveInfo[i].waveInc; if(waveInfo[i].waveReadPos >= (waveInfo[i].waveStart+waveInfo[i].waveLength)){ waveInfo[i].waveReadPos = 0; //waveInfo[i].waveReadPos = waveInfo[i].waveStart; } } } } DAC_send((waveOut)); }