› Foros › Multiplataforma › Desarrollo
GaritoMan escribió:Para hacer el timer de apagado, necesito una interrupción temporal, ya que paso de estar chequeando el timer continuamente, es una carga para la CPU absurda totalmente.
A ver que camino os parece mejor:
*Usar sceKernelAlarm--> de X microsegundos y a partir del su interrupción contar segundos o minutos. (creo que este es el mejor camino)
*Generar un vTimer que también va en microseg pero... de los que desconozco si generan alguna interrupción al desbordar.
*Tirar del interrupt_manager y sus PSP_SYSTIMER(X) de los que sólo he encontrado que si los chequeas, siempre están a 0 smile_:-(
De mi mismo escribió:Si, existen las funciones miticas de C, el timestamp, el reloj epoch, que te marca los segundos desde el 1 de enero de 1970. También tienes otra que te dice los segundos desde las 12 de la noche.
Estas funciones me servirian, pero quiero hacer algo más depurado, y que no dependa de que el usuario cambie la fecha o la hora del sistema, algo poco habitual, pero que petaría la función. Además de que consumiría recursos sólo verificando dichos valores.
Parece ser que puedo usar una interrupción que se genera cada 1/60 segundos la PSP_VBLANK_INT.
La putada es que en la documentación que he leido (por ahora) no me dice a que función salta, sino que tengo que usar "QueryIntrHandlerInfo" para saber si está habilitada, o sea que me ahorro la parte en la que el user podría crujir el programa, pero sigo teniendo que usar las iteraciones para ver si ha saltado a esa interrupción.
Tengo que seguir aprendiendo, ya que no se si el sdk está preparado para que salte a interrupciones (o eventos) o simplemente hay que chequear valores, flags...
Un prx que apague la PSP desde el controlador