Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porSebastián Quiroga Suárez Modificado hace 9 años
1
Séptima Clase Patricio A. Navarrete Junio 24 de 2011
2
Resumen Variables de Salida Instrucciones de Movimiento Variables de Usuario Condicionalidad Variables de Entrada Configuración de Sensores Ciclos Aplicación del ciclo permanente Condicionalidad múltiple switch(){ case: break; default: break; } LCD ClearScreen(); TextOut(); NumOut();
3
Tareas paralelas El robot NXT puede ser programado para realizar varias tareas de forma paralela (multitasking). Esto quiere decir que el sistema cuenta con un “planificador” (scheduler) que organiza de la mejor forma posible las instrucciones que cada tarea requiere realizar para que compartan el procesador. Se debe procurar que los datos de las distintas tareas no dependan unos de otros para que no haya conflictos. Si las tareas tienen datos compartidos se debe tener cuidado que se mantenga la coherencia entre ellos. Definición de tarea (fuera del task main) task tarea1(){ acciones; } Ejecutar tareas (dentro del task main) Precedes(tarea1, tarea2, … );
4
Ejemplo task lcd(){ int distance = 0; while(true){ ClearScreen(); TextOut(0, LCD_LINE1, "Touch: "); NumOut(60, LCD_LINE1, SENSOR_1); TextOut(0, LCD_LINE2, "Light: "); NumOut(60, LCD_LINE2, SENSOR_2); TextOut(0, LCD_LINE3, "Sound: "); NumOut(60, LCD_LINE3, SENSOR_3); distance = SensorUS(IN_4); TextOut(0, LCD_LINE4, "Distance: "); NumOut(60, LCD_LINE4, distance); Wait(500); } task move(){ while(true){ if(SENSOR_1 == 1){ OnFwd(OUT_AC,75); Wait(300); OnRev(OUT_A,75); Wait(175); } else OnRev(OUT_AC,75); } task main(){ SetSensorTouch(IN_1); SetSensorLight(IN_2); SetSensorLowspeed(IN_3); SetSensorSound(IN_4); Precedes(lcd,move); }
5
Séptima Clase Patricio A. Navarrete Junio 24 de 2011
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.