bsafak
Üye
- Katılım
- 5 Tem 2007
- Mesajlar
- 45
- Puanları
- 1
- Yaş
- 40
Merhaba arkadaşlar aşağıda yazdığım kodlar proteusda çok güzel çalışıyor. Kablolu seri iletişimdede çok güzel çalışıyor fakat udea firmasından aldığım utr-c12u modülleriyle bir türlü çalıştıramadım sebebi nedir?
Data aktarımında 5 byte AA 5 byte 00 5 byte FF bilgisi gönderiyorum olmuyor.
Sadece herhangibir data gönderiyorum mesela ver=10 yine olmuyor. Hiç değilse saçma sapan dahi olsa bir data aldım kesmesi oluşturması lazım bana göre ama hiç birşey olmuyor. Veri gönderim ledi normal yanıp sönüyor fakat alıcıda hiç bir led yanmıyor.
VERİCİ:
#include <16f877a.h>
#fuses XT,NOPROTECT,NOCPD,NOBROWNOUT,NOPUT,NOWDT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7,parity=N,stop=1)
int ver;
#int_tbe
void verici()
{
disable_interrupts(int_tbe);
output_low(pin_b7); // data gönderip kesmeye girdimi
delay_ms(100);
}
void main()
{
setup_psp(PSP_DiSABLED);
setup_spi(spi_ss_DiSABLED);
setup_timer_1(t1_DiSABLED);
setup_timer_2(t2_DiSABLED,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);
enable_interrupts(global);
output_high(pin_d3); // UTR-c12u modülü verici olarak seç
output_low(pin_d2); // UTR-c12u modülü kanal-1 olarak seç
ver=10;
while(1)
{
enable_interrupts(int_tbe);
output_high(pin_b7); // data gönderdi mi?
delay_ms(300);
putc(ver);
delay_ms(100);
}
}
ALICI:
#include <16f877a.h>
#fuses XT,NOPROTECT,NOCPD,NOBROWNOUT,NOPUT,NOWDT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7,parity=N,stop=1)
int t=0;
#int_rda
void alici()
{
disable_interrupts(int_rda);
output_high(pin_b1); //veri geldi mi?
delay_ms(50);
t=getch();
if(t==10)
{
output_high(pin_b7); //gelen veri doğru mu?
delay_ms(100);
}
}
void main()
{
setup_psp(PSP_DiSABLED);
setup_spi(spi_ss_DiSABLED);
setup_timer_1(t1_DiSABLED);
setup_timer_2(t2_DiSABLED,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);
enable_interrupts(global);
output_low(pin_d3);// utr-c12u modülü alıcı seç
output_low(pin_d2);// utr-c12u modülü kanal-1 seç
while(1)
{
enable_interrupts(int_rda);
output_low(pin_b1);// veri geldimi
output_low(pin_b7); // gelen veri doğrulandı
delay_ms(50);
}}
Data aktarımında 5 byte AA 5 byte 00 5 byte FF bilgisi gönderiyorum olmuyor.
Sadece herhangibir data gönderiyorum mesela ver=10 yine olmuyor. Hiç değilse saçma sapan dahi olsa bir data aldım kesmesi oluşturması lazım bana göre ama hiç birşey olmuyor. Veri gönderim ledi normal yanıp sönüyor fakat alıcıda hiç bir led yanmıyor.
VERİCİ:
#include <16f877a.h>
#fuses XT,NOPROTECT,NOCPD,NOBROWNOUT,NOPUT,NOWDT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7,parity=N,stop=1)
int ver;
#int_tbe
void verici()
{
disable_interrupts(int_tbe);
output_low(pin_b7); // data gönderip kesmeye girdimi
delay_ms(100);
}
void main()
{
setup_psp(PSP_DiSABLED);
setup_spi(spi_ss_DiSABLED);
setup_timer_1(t1_DiSABLED);
setup_timer_2(t2_DiSABLED,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);
enable_interrupts(global);
output_high(pin_d3); // UTR-c12u modülü verici olarak seç
output_low(pin_d2); // UTR-c12u modülü kanal-1 olarak seç
ver=10;
while(1)
{
enable_interrupts(int_tbe);
output_high(pin_b7); // data gönderdi mi?
delay_ms(300);
putc(ver);
delay_ms(100);
}
}
ALICI:
#include <16f877a.h>
#fuses XT,NOPROTECT,NOCPD,NOBROWNOUT,NOPUT,NOWDT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7,parity=N,stop=1)
int t=0;
#int_rda
void alici()
{
disable_interrupts(int_rda);
output_high(pin_b1); //veri geldi mi?
delay_ms(50);
t=getch();
if(t==10)
{
output_high(pin_b7); //gelen veri doğru mu?
delay_ms(100);
}
}
void main()
{
setup_psp(PSP_DiSABLED);
setup_spi(spi_ss_DiSABLED);
setup_timer_1(t1_DiSABLED);
setup_timer_2(t2_DiSABLED,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);
enable_interrupts(global);
output_low(pin_d3);// utr-c12u modülü alıcı seç
output_low(pin_d2);// utr-c12u modülü kanal-1 seç
while(1)
{
enable_interrupts(int_rda);
output_low(pin_b1);// veri geldimi
output_low(pin_b7); // gelen veri doğrulandı
delay_ms(50);
}}