コード例 #1
0
ファイル: piano.c プロジェクト: emanuel36/piano_bare_metal
int main(){
	//Nota* notas_saved = NULL;
	//INPUT
	initGPIO(GPIO_F1, MODULO_2, DIR_INPUT);
	initGPIO(GPIO_F2, MODULO_2, DIR_INPUT);
	initGPIO(GPIO_F3, MODULO_2, DIR_INPUT);
	initGPIO(GPIO_F4, MODULO_2, DIR_INPUT);
	
	//OUTPUT
	initGPIO(LED_F1, MODULO_2, DIR_OUTPUT);
	initGPIO(LED_F2, MODULO_2, DIR_OUTPUT);
	initGPIO(LED_F3, MODULO_2, DIR_OUTPUT);
	initGPIO(LED_F4, MODULO_2, DIR_OUTPUT);
	initGPIO(BUZZER, MODULO_2, DIR_OUTPUT);
	initGPIO(LED_WAIT, MODULO_2, DIR_OUTPUT);
	
	while(TRUE){
		blink(LED_WAIT, MODULO_2);
		if(getPinValue(GPIO_F1, MODULO_2)){
			//notas_saved = insertLista(notas_saved, LED_F1, FREQUENCIA_1);
			GPIOHigh(LED_F1, MODULO_2);
			playNota(BUZZER, MODULO_2, FREQUENCIA_1);
		}
		GPIOLow(LED_F1, MODULO_2);
		
		if(getPinValue(GPIO_F2, MODULO_2)){
			//notas_saved = insertLista(notas_saved, LED_F2, FREQUENCIA_2);
			GPIOHigh(LED_F2, MODULO_2);
			playNota(BUZZER, MODULO_2, FREQUENCIA_2);
		}
		GPIOLow(LED_F2, MODULO_2);
		
		if(getPinValue(GPIO_F3, MODULO_2)){
			//notas_saved = insertLista(notas_saved, LED_F3, FREQUENCIA_3);
			GPIOHigh(LED_F3, MODULO_2);
			playNota(BUZZER, MODULO_2, FREQUENCIA_3);
		}
		GPIOLow(LED_F3, MODULO_2);
		
		if(getPinValue(GPIO_F4, MODULO_2)){
			//notas_saved = insertLista(notas_saved, LED_F4, FREQUENCIA_4);
			GPIOHigh(LED_F4, MODULO_2);
			playNota(BUZZER, MODULO_2, FREQUENCIA_4);
		}
		GPIOLow(LED_F4, MODULO_2);
/*
		if(getPinValue(GPIO_PLAY, MODULO_2)){
			playMusicSaved(notas_saved);
		}
*/
	}
}
コード例 #2
0
void stepper_motor(int direction){
	switch (thisStep) {
    	case 0:  // 1010
    		GPIOHigh(GPIO_PIN_1);
    		GPIOLow(GPIO_PIN_2);
    		GPIOHigh(GPIO_PIN_3);
    		GPIOLow(GPIO_PIN_4);
    		if (direction == 0){
    			thisStep = 1;
    		}
    		else {
    			thisStep = 3;
    		}
    		break;
    	case 1:  // 0110
    		GPIOLow(GPIO_PIN_1);
    		GPIOHigh(GPIO_PIN_2);
    		GPIOHigh(GPIO_PIN_3);
    		GPIOLow(GPIO_PIN_4);
    		if (direction == 0){
    			thisStep = 2;
    		}
    		else {
    			thisStep = 0;
    		}
    		break;
    	case 2:  //0101
    		GPIOLow(GPIO_PIN_1);
    		GPIOHigh(GPIO_PIN_2);
    		GPIOLow(GPIO_PIN_3);
    		GPIOHigh(GPIO_PIN_4);
    		if (direction == 0){
    		    thisStep = 3;
    		}
    		else {
    		    thisStep = 1;
    		}
    		break;
    	case 3:  //1001
    		GPIOHigh(GPIO_PIN_1);
    		GPIOLow(GPIO_PIN_2);
    		GPIOLow(GPIO_PIN_3);
    		GPIOHigh(GPIO_PIN_4);
    		if (direction == 0){
    		    thisStep = 0;
    		}
    		else {
    			thisStep = 2;
    		}
    	break;
    }
}