serielport interface hjælp

D

david90

Guest
Kode:

# elif defined (__PCH__)

# include <18F458.h>

# sikringer HS, NOWDT, NOPROTECT, NOLVP

# brug forsinkelse (ur = 8000000)

# bruge RS232 (baud = 9600, xmit = PIN_C6, AN = PIN_C7) / / Jumpers: 8 til 11, 7 til 12

# endif# byte port_b = 6void main () (printf ( "HiThere");)

 
skrald normalt betyder en baudhastighed mismatch.Har du ændre baudrate i hyperterm?Jeg tror, der er en fejl, der kræver, at du genstarter hyperterm at få baudrate ændringen træder i kraft.

Hvis det ikke er det, så prøv at skifte transmissionshastighed.

Jeg ved ikke, CCS, men er der for lidt slog seriel I / O?

Af den måde, kan jeg ikke se en PIC18F458 opført på mikrochippen site.

 
Hej,

En ting mere du skal kontrollere, hvis GND linje er sluttet på dig kommunikation kabel, jeg havde dette problem en gang, og det løste problemet.

Ben.

 
kontrollere krystal oscillator på din controller, krystal oscillator på din controller skal være lig med, at set fra din compiler.

 
min forbindelse er god, og min bithastighed på MCU er enig med HyperTerminal.

Jeg bruger en 8MHz krystal, men jeg kender ikke hætten værdier.Jeg bare slutte det til MCU uden låg.kunne at ændre hastigheden?

 
ja, skal du bruge caps.prøve 22 pf om noget bewteen 12 og 40 pf bør arbejde med en vis hyppighed fejl, men formentlig ikke nok til at skrue op din baudrate.The Crystal's faktablad skal fortælle dig, hvad CPAS at bruge.The Crystal fører forbindelse til osc1 og osc2 og derefter hætter gå fra osc1 til GND og ocs2 til GND.

du bruger en en RS232 driver som en max232, right?

 
prøv putc i stedet for printf ...printf er altid buggy i CCS C. ..

anyway ...Jeg vil foreslå tht u brug afbryde metode n bruge en knap så u dont hav at presse MCLR (for ur-kode), hvor u vil kontrollere msg fra ur PIC ...

brug putc wth afbryder derefter, når knappen nede, skal du sende besked til ur pc ...

anden prob mayb er tht når efter MCLR u presse på for ur msg at vise msg on ur pc ...den pic måske ikke stabilt endnu ...er det posible?

sp

 
Jeg prøvede putc og det virker ikke.Anymore forslag?Jeg bruger ikke max232 men fra hvad jeg har læst det skulle arbejde uden problemer.

 
Hej

Jeg har ikke gjort seriel programmering med PIC, men jeg har tilsluttet et par forskellige 8.051 og AVR til PC via seriel.Det er min erfaring.

Hvis du ikke ved 9600 prøve at oprette forbindelse til den laveste baudraten at både Hyperterminal og PIC kan støtte dette vil tage sig af mindre mis-match i transmissionshastigheden osv. Da du kan se skrald det betyder, at dine tilslutninger er korrekte.

hvad kredsløb bruger du til at erstatte max232?Gang på grund af kravet om opto-isoleret kredsløb jeg havde at designe uden max232 men jeg sørgede for, at signalet niveauerne var i nærheden af 12 og -12 dog uden nogen ekstra strømforsyning.

 
prøv eksempel koder fra PIC-listen, de har en masse arbejde koder eksempler på dette websted

 
Jeg tilføjede "vendes" til # bruge RS232 og det virkede.Ikke mere affald.Jeg var nødt til at fjerne AN = PIN_C7 men ellers kan det ikke kompilere.Hvorfor?

edit: løst problemet.Jeg brugte max232 og alt arbejdede ud.Jeg får ikke hvorfor engang u behøver ikke at bruge det.Jeg tror det afhænger af pc.

 
kan u er facin problemet med <cr> eller baudrate mismatch.Prøv at ændre baudrate.kan være, der vil hjælpe u.ellers sørge for, at du får ordentlig <cr> slutningen af strengen.Jeg har en vb base html, som vil hjælpe u.
farvel

 

Welcome to EDABoard.com

Sponsor

Back
Top