Здраствуйте.у меня следующий вопрос.пытаюсь соединить комп с пиком.для этого использую преобразователь ЮСБ в 485 а со стороны пика 485-232.проблема имеет место быть в двух случаях.при передачи с пика данные на ком приходят какието кривые,при этом срабатывает прерывание по РДА в пике.вторая проблема при передаче данных с компа на пик данные до пика доходят-светодиод приема блымает а прерывание не срабатывает(по линии рх и тх стоят светодиоды и они подключены через резюк к +5В).подскажите че не так делаю.
#include ‹16F877A.h›
#device *=16
#device ICD=TRUE
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (› 4mhz)
#FUSES PUT //Power Up Timer
#FUSES PROTECT //Code protected from reads
#FUSES DEBUG //Debug mode for use with ICD
#FUSES BROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC1
used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=20000000)
//#use i2c(Master,Fast,sda=PIN_C4,scl=PIN_C3)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=
INT16 B;
#byte leds=0x09
#bit led_1=leds.0
#bit led_2=leds.1
#bit led_3=leds.2
#byte RS_485=0x07
#bit DE=RS_485.2
#bit HF=RS_485.5
#DEFINE ON 1;
#DEFINE OFF 0;
#INT_RDA
VOID PRIEM()
{
b=fgetc();
led_1=1;
clear_interrupt(INT_RDA);
}
void main()
{
set_tris_E(0x00);
set_tris_C(0x00);
HF=Off;-настройка на фуллдуплекс
DE=On;
led_1=0;
led_2=1;
led_3=1;
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_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);
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
WHILE(1)
{PUTc('\x55');
DELAY_MS(1000);
}
}