Amigo dogflu:
- Esa variable "x" que declaras no tiene mas funcion que hacer que el bucle funcione?
Esta linea que es lo que hace?
- Proc _pwm_rb(_pwm0 As Byte, _pwm1 As Byte, _pwm2 As Byte)
Por lo poco que se para hacer PWM por soft tienes que invocar a el timer0 y no veo donde lo invoques... si me equivoco dime entonces como se invoca...
Gracias amigo dogflu.
La variable x es para que el bucle funcione.
***************************************
'------------------------------------------------------
Proc _pwm_rb(_pwm0 as Byte, _pwm1 as Byte, _pwm2 as Byte)
... cuerpo de la función
End Proc 'Terminación de la función
'-------------------------------------------------------
Todo eso es equivalente a la siguiente subrutina:
'----------------------------------
Dim _pwm0 as Byte
Dim _pwm1 as Byte
Dim _pwm2 as Byte
_pwm_rb:
.... cuerpo de la subrutina
Return 'Terminación de la subrutina
'----------------------------------
Vamos por pasos:
¿Qué es mejor; el freno de tambor o los frenos de disco?
¿Qué es mejor, la frenada normal o con abs?
Lo mejor para ilustrar los casos anteriores no es buscar la diferencia, si no la igualdad, y es que en todos los casos frenas. Solo cuando buscas una frenada más corta es cuando se verifican las diferencias entre unos métodos y otros.
Pues lo mismo pasa con las interrupciones, si la rutina principal de tu programa no demanda controlar la función de los pwm por interrupciones, mejor sigues sin usar las interrupciones hasta que tengas la necesidad. Las interrupciones por si solas son complicadas así que te recomiendo que no te metas a mayores hasta tener claro el código actual. Más adelante tendrás tiempo de mejorar el código con interrupciones y con comunicación entre pic, ya tendrás tiempo de correr.
Hace más de 30 años que no se usa el comando goto en la programación del lenguaje Basic, fue sustituido por las subrutinas, concretando; por el gosub/return, y el siguiente paso son las funciones que sustituyen a las subrutinas.