PIC til PC seriell problemet ....

H

hhhsssmmm

Guest
Hallo

Im prøver å nettverket et multidrop RS-485 nettverket.Se vedlagte diagram av hvordan jeg har gjort ledningene arrangement.- Styret A representerer PC med RS-232 til RS-485 konverter

- Styret B representerer PIC bord 1 med MAX488 linje sjåfør

- Styret C representerer PIC bord 2 med MAX488 linje sjåførBåde PIC boards B og C er de samme som bruker PIC18F4220 med 4MHz krystall.

Nå kan jeg få en slik kommunikasjon (fra PC til Pics bare) og min rekke tegn er vellykket mottatt av bilder.Dataene som sendes fra PC i pakker og hver pakke er unikt adressert til hver PIC bord.

Nå når jeg prøver å gjøre motsatt, det sender et svar tilbake fra PIC bord C. ...
og ikke samtidig med bord B, pakkestørrelsen vellykket reachs PCen.Men nå når samme forsøk med PIC bord B bare igjen gjør at du ikke samtidig med PIC bord C, deretter pakken aldri når PC.

Det vises bare PIC bord C er i stand til å sende pakker til PCen.

Im også hver TX pin på PIC en inngang pin når den ikke overfører.Jeg bare gjøre det utgang retning, når Im bli klar til å overføre.

Som en enkel test-programmet, Im bare sende ut en pakke når jeg trykker på en knapp på PIC boards (B eller C).Derfor im kontroll over når en pakke skal sendes.Derfor kan jeg ikke forstå dette puslespillet på hvorfor pakken svikt fra PIC bord B.

Vennligst kan noen hjelpe meg å få til å sende pakker med suksess både fra PIC brett (B og C) til PC (hvert bord tar svinger i TXing og IKKE samtidig TXing ).... bruker samme ledningsnett tilkobling vises i diagram.Hvis det er behov for noen endring gjort, kan du også gi meg beskjed.

Takk

Haseeb
Beklager, men du må logge inn for å vise dette vedlegget

 
Det ser ut som om bord C permanent kjører bussen.

Du må kontrollere at driverne er bare aktivert når du overfører deretter deaktivert etterpå.Dessverre, hvis B og C-stasjonen samtidig, får du søpla så du trenger for å implementere en beskyttelse system i programvare for å ta i mot slike buss kollisjoner.

Brian.

 
hello Brian

dvs akkurat hva im gjør ...

Im bruker C18 compiler så jeg dissable den TX pin når den ikke overfører ved å gjøre den til en input pin ...Jeg bruker denne koden setningen.

TRISCbits.TRISC6 = 1; / / foreta TX pin skriving

og når jeg ønsker å overføre .... jeg gjøre det produksjonen av dette utsagnet ...

TRISCbits.TRISC6 = 0; / / foreta TX pin outputselvfølgelig pins er Reverted tilbake sin tidligere tilstand så snart pakken er sendt.

det nå med denne informasjonen ... kanne u analysere og hjelpe meg?

takk

haseeb

 
Det høres ut som du deaktiverer feil PIN-kode.Ved å endre TRIS biter du kan kjøre eller lese PIC pins men problemene er med RS485 driver.Selv med PIC satt til inndatamodus (TRIS = 1) driveren IC er fortsatt mate din buss.

Jeg tror du har for å drive RS485 sender aktivere å kontrollere om det er koblet til eller isolert fra bussen.Du kan ha til å tildele en annen PIC pin å koble til sjåføren deaktivere PIN.Du bør være trygt å la mottakeren permanent aktivert, men hvis mer enn én transmitter aktiverer får buss contention.

Brian.Bare kontrollert datablad - stasjonen DE høy til å overføre og lav når den ikke overfører.

 
Tusen takk brian ...

Jeg vil prøve ur forslaget.Jeg blir nå nødt til å bruke MAX483 i stedet for å bruke DE og pins.im at prosjektet skal nå fungere.

takk

haseeb

 

Welcome to EDABoard.com

Sponsor

Back
Top