ccs c rda kesme hatası....

sadoazb

Üye
Katılım
26 Ara 2009
Mesajlar
154
Puanları
1
Yaş
52
arkadaşlar aşagıdaki kod ile rs232-rs485 çevirici kart ile bilğisayara
veri gönderiyorum...
fakat bilğisayardan veri almak için rda kesmesini kullandığımda rda kesmesinde
hata veriyor...
nedenini bir türlü çözemedim...

main.c
Kod:
#include "E:\elektronik\ccs_pic\uygulamalar\seriiletisim\877_rs485_3\main.h"

//*****************************************************************************
//rs485 seri iletişim ayarlamaları
#include <RS485.c>
#define RS485_ID deviceId 
#define RS485_RX_PIN PIN_C7 
#define RS485_TX_PIN PIN_C6  
#define RS485_USE_EXT_INT FALSE // Change to FALSE
 //defined but not using   
 #define RS485_ENABLE_PIN   PIN_E0   
 #define RS485_RX_ENABLE    PIN_E1    
 #define RS485_RX_BUFFER_SIZE  64
 int8 msg[RS485_RX_BUFFER_SIZE];
 
//int8 RS485_IDd = 5;
//#define RS485_IDd RS485_ID
//******************************************************************************

#include <stdlib.h>


#int_rda   // RX ucuna veri gelince meydane gelen kesme
void serihaberlesme_kesmesi (){
   disable_interrupts(int_rda); // int_rda kesmesini pasif yap
  
}




void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);

   // TODO: USER CODE!!
      rs485_init();               //rs485 aktif
      //clear_interrupt(int_rda);      
    enable_interrupts(int_rda);           //portb kesmelerine izin ver
    enable_interrupts(GLOBAL);
   
   
    while(1)   {  
   output_high(pin_d0);    //pic çalıştı
  
   output_high(pin_e0);   //'pic877 den max485'e veri gönderme izni verildi   
   output_low(pin_e1);    //'com dan max485'e veri gönderme izni iptal      
   printf("3");     //seri porta veri gönder
   delay_ms(1000);        //bekle 
  
  
 
  
 }

}

main.h
Kod:
#include <16F877A.h>
#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected

#use delay(clock=4000000)
#use rs232 (baud=9600, xmit=PIN_C6, rcv=PIN_C7, stop=1, parity=N) 
//#use rs232 (baud=9600, xmit=PIN_C6, rcv=PIN_C7, stop=1, parity=N,STREAM=seri1 )
//#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1, stream=PC)
 

Forum istatistikleri

Konular
128,220
Mesajlar
915,905
Kullanıcılar
450,007
Son üye
harunppp

Yeni konular

Geri
Üst