Maksim RS232 nuosekliojo ryšio problema

N

n33dh3lp

Guest
Hihi, i need some help čia ... man reikia, kad programa RS232 lustą bendrauti su mano PIC18f452 (todėl ir gali perduoti duomenis iš Pic į kompiuterį arba atvirkščiai per serial port) C kalbą ir jiems naudojant C18 Kompiliavimo .. . tačiau jiems naujas C kalba, i cant figure out kaip rašyti kodus .. i rimtai reikia rekomendacijas .. Pls help būtų geriau, jei siunčia man mėginio kodai man mokytis

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

... i need help asap ... thankx daug iš anksto ...

 
Labas,
Kokia luste norite programą.Paprastai mes naudojame max232 tik sąsaja.Nereikia prgramthe lustą, kaip ji tiesiog veikia kaip lygiu vertėjas.
Jeigu jums reikia UART kodas tada yra daug iš jų galima rasti internete arba apygardos Rūsys / EPE Žurnalai.

BRM

 
hey ačiū už atsakymą ..I'm trying to programa mikroschema pic18f452 kad i gali ryšių su uosto szeregowego ..ir galite suteikti man nuorodos kur i rasti pavyzdžių programą?ačiū

 
Galite rasti daugybę patarimų čia:
http://www.microchipc.com

nuoširdžiausi linkėjimai

 
Pavyzdys:
Kodas:

# include <pic18.h>

# include <stdio.h>

# include <string.h>

# include "usart.h"/*================================================ ================================================== * /

tuščia uart_init (tuščia)

(

TRISC7 = 1;

TRISC6 = 0;

CREN = 0;

TXSTA = 0x24;

SPBRG = 0x2a;

TXSTA = 0x24;

RCSTA = 0x90;

grąžinti;

)

/*================================================ ================================================== * /

tuščia putch (char c)

(while (! TXIF) / * nustatyti kai registre yra tuščias * /

toliau;

TXREG = c;

grąžinti;

)

/*================================================ ================================================== * /

char getch (tuščia)

(char rx_byte;

o (1)

(while (! RCIF) / * nustatyti kai registre nėra tuščias * /

toliau;

jei (OERR | | Ferr)

(

CREN = 0;

CREN = 1;

Ferr = 0;

/ / TXREG = 0xaa;

while (RCIF) rx_byte = RCREG;

toliau;

)

break;

)

ok = 1;

grįžti RCREG; / * RXD9 ir Ferr Eime dabar * /

)

/*================================================ ================================================== * /

char getche (tuščia)

(char c;

putch (c = getch ());

return c;

)
 
galima geriau panaudoti max233, nes ji yra paprasta kaip max232
ji kaip max232 bet be kondensatorius ryšį reikia

 
į goshka:hi, i kai kuriuos klausimas jums apie kodą išsiųstas.Pirma yra kodas, skirtas C18 kompiliatorių?Kadangi biblioteka C18 Kompiliavimo Atrodo, kad skirtingų kodavimo nuo jūsų (pvz.: getcUSART, DaTaRdyUSART, putrsUSART, WriteUSART .. kt.) Taigi galima i naudoti tiksliai tuo pačiu kodu, kaip Jūsų arba turi ir pakeisti predestinacija Marcos pateiktas C18 kompiliatorių?Ir taip pat, i dont gana suprasti, kas yra "ok = 1;" (ne gauti dalį) ir visas getche (tuščia) dalis.Ką šie 2 dalys reiškia?Galiausiai, kai i bandyti kurti savo kodą, yra klaida raginimo neįvardintas simbolika .. kaip jūs nustatote visus gimęs simbolis? (Pvz.: TRISC, TXIF, RCSTA, CREN .. ir tt) .. Atsiprašome užduoti daug klausimų, jiems yra Newbie C

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />Jei i naudoti savo kodą ir i nori perduoti ir gauti duomenis ir i rašyti Tokiu būdu bus kodas veikia?

*** perduoti ***

void main () (
uart_init ();
char buferis [10];
pokalbių bandymo = 20;
o (1) (
putch (bandymas); <---- ji perduoda 20?
)
)

*** gauti ***

char Data;
o (1) (
Duomenys = getch (); <---- gaus duomenis iš usart ir išsaugoti duomenys?
)Prašome atsakyti man artimiausiu metu ir dėkojame už pagalbą iš anksto

 

Welcome to EDABoard.com

Sponsor

Back
Top