Problemas con PIC y TRIAC

Mira creo que aqui ya esta tambien funcionando junto con el EUSART...

Código:
#include <stdio.h>
#include <stdlib.h>
#include <xc.h>
#include <stdbool.h>
#define _XTAL_FREQ 4000000

#pragma config FOSC = INTRCIO  
#pragma config WDTE = OFF       
#pragma config PWRTE = ON      
#pragma config MCLRE = OFF      
#pragma config CP = OFF   
#pragma config CPD = OFF       
#pragma config BOREN = OFF     
#pragma config IESO = OFF       
#pragma config FCMEN = OFF     

unsigned char BUFFER=127;

void interrupt isr(void){
 if(INTCONbits.T0IF==true){
  INTCONbits.T0IF=false; 
  PORTCbits.RC0=1;
  __delay_us(6);
  PORTCbits.RC0=0;
  INTCONbits.T0IE=false;}
 else if (PIR1bits.RCIF==true){
  PIR1bits.RCIF=false;
  BUFFER=RCREG;}
 else if (INTCONbits.INTF==true){
  INTCONbits.INTF=false; 
  TMR0=BUFFER;
  INTCONbits.T0IE=true;
  OPTION_REGbits.INTEDG=!OPTION_REGbits.INTEDG;}
}

void PIC_Init(void){
//Config
 OPTION_REGbits.INTEDG=true;
 OPTION_REGbits.T0CS=false;
 OPTION_REGbits.PS0=false;
 OPTION_REGbits.PS1=false;
 OPTION_REGbits.PS2=true;
 OPTION_REGbits.PSA=false;
 OSCCON=0x61;

//Interrupt Config
 PIE1bits.RCIE=true;
 INTCONbits.INTE=true;
 INTCONbits.PEIE=true;
 INTCONbits.GIE=true;

//Ports Config
 ANSEL=0;
 ANSELH=0;
 TRISA=0b100;
 TRISB=0b100000;
 TRISC=0b0;
 PORTA=0;
 PORTB=0;
 PORTC=0;
 
//TX_RX Config
 TXSTAbits.TXEN=true;
 TXSTAbits.TRMT=true;
 TXSTAbits.TX9=false;
 TXREG=0;
 RCSTAbits.CREN=true;
 RCSTAbits.RX9=false;

//Baud Rate Config
 RCSTAbits.SPEN=true;
 TXSTAbits.SYNC=false;
 TXSTAbits.BRGH=true;
 BAUDCTLbits.SCKP=false;
 BAUDCTLbits.BRG16=false;
 SPBRG=25;
 SPBRGH=0;
} 

void main(void)
{
 PIC_Init();
 while(true);
}

basicamente el problema estaba en que la frecuencia de oscilacion no estaba bien, solo que queda la duda del gatilleo, si con un solo pulso se queda gatillado el triac o hay que mantenerlo hasta el siguiente cruce.
 
Última edición:
papirrin eres un genio man, este código ya funciona. muchísimas gracias.
gracias por el tiempo que invertistes, y siempre estubieste al pendiente. ahora en la mañana hice pruebas y no funcionaba pero después que cargue tu código ya funciona
 
Atrás
Arriba