Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola!
Me explico, estoy intentando controlar un servo con el TMR0 del pic 16F877, estoy guiandome con el ejemplo de esta web " http://68hc11.garcia-cuervo.net/picmania.garcia-cuervo.net/PICC2.htm " , para iniciarme ya que normalmente controlo los servos (2 servos) con el modulo PWM, y lo que pretendo es para un futuro intentar controlar 4 o mas servos, y nada me he puesto manos a la obra pero el servo no hace ni puñetero caso, solo cuando reseteo el pic este pretnede ir hacia la posicion que le he indicado (el centro) pero luego nada, este es el codigo (es el mismo que el del ejemplo de la web, pero en mi C xD)
#include <pic1687x>
#define servo0 RB0
unsigned char x,a;
unsigned char servo,control_t,control,serie,flag,flagservo;
void main (void)
{
TRISB=0x00; //Salida
INTCON=0xF0; //GIE=TOIE=PEIE=1
OPTION=0x83; //Prescaler a 16
TMR0=0;
PORTB=0x00;
flag=0;
flagservo=0;
control=0;
control_t=0;
do
{
if (flag==1)
{
flag=0;
servo0=1;
flagservo=1;
}
if (flagservo==1)
{
control=TMR0;
if (control>93)
{
flagservo=0;
servo0=0;
}
}
}
while(1);
}
void interrupt recepcion_serie (void)
{
if (T0IF==1)
{
T0IF=0;
control_t++;
if (control_t==4)
{
TMR0=30;
}
if (control_t==5)
{
flag=1;
control_t=0;
}
}
}
Es el mismo, con el mismo nombre de variables, etc, pero no veo que esta mal, o que puede fallar.
¿Alguien me puede echar un cable? Gracias de antemano!
Salud!
Ya esta!
Una pequeña metedura de pata en al configuración del INTCON "INTCON=0xF0;" <- MAL "INTCON=0xE0;" <- BIEN xD, habia habilitado la interrupción externa por RB0 jejeje 😳 Ale ahora a ver que mas me sale por ahi xDD
Ya esta!
Una pequeña metedura de pata en al configuración del INTCON "INTCON=0xF0;" <- MAL "INTCON=0xE0;" <- BIEN xD, habia habilitado la interrupción externa por RB0 jejeje 😳 Ale ahora a ver que mas me sale por ahi xDD ¿Por qué en muchas ocasiones nos sucede que encontramos justo la respuesta tras haber preguntado algo porque no conseguimos hacerlo funcionar tras intentarlo varias veces? 😀