www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

USART->FT232-problem

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.10
Kraj: Celje

PrispevekObjavljeno: Sre Sep 17, 2008 3:20 pm    Naslov sporočila:  USART->FT232-problem Odgovori s citatom

Lep pozdrav!

Imam problem pri prenosu podatkov iz ATmega8515 na PC. Namesto z max232 sem poizkusil narediti povezavo s FT232 čipom. Ko povežem računalnik in krmilnik, RX in TX parkrat utripneta, kar pomeni da je povezava med njima vzpostavljena. Ustrezne gonilnike sem tudi naložil, računalnik pa tudi prepozna navidezni COM port.
V programu sem poizkusil poslati nekaj podatkov, ter jih prejeti v terminalu Docklight, kjer sem tudi nastavil Baud rate 19200bps, 8podatkovnih bitov in en stop bit.
Problem pa je v tem, da za vsak prejeti podatek prejem 0 oz. če imam v terminalu odprto okno ASCII prejem NULL.
Je mogoče problem v tem, da pride čisto točno izračunani Baud rate v krmilnikovem programu 19230,7 bps, v terminalu pa sem nastavil 19200? Bolj točno nisem uspel nastaviti, ker uporabljam interni osc. 8Mhz...
Je mogoče problem v programu? Zdi se mi čudno, ker sem pred nekaj časa s temi že napisanimi funkcijami uspešno pošiljal podatke, le da z max232.


Koda:
#include <avr\io.h>
#include <util\delay.h>

#define BAUDRATE 25 // 19230,7 pri 8MHz

void rsInit(unsigned char baud) {
  UBRRL = baud;                                     //baud rate 19230,7bps
  UCSRC = (1<<UCSZ0) | (1<<UCSZ1);  // 8N1
  UCSRB = (1<<RXEN) | (1<<TXEN);       // enable tx and rx
}

void rsSend(unsigned char data) {
  while( !(UCSRA & (1<<UDRE)));
  UDR = data;
}

unsigned char rsRecv() {
  while( !(UCSRA & (1<<RXC)));
  return UDR;
}


int main(void) {

rsInit(BAUDRATE);

while(1)           //vsakih 500ms pošljemo črko a
{
rsSend('a');
_delay_ms(500);
}

return(0);

}



Hvala za odgovor!



ft232.JPG
 Opis:
 Velikost datoteke:  146.3 KB
 Pogledana:  34 krat

ft232.JPG


Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Jan
Član
Član



Pridružen-a: Sob 10 Jun 2006 14:19
Prispevkov: 313
Aktiv.: 1.35
Kraj: Dolenjska

PrispevekObjavljeno: Sre Sep 17, 2008 3:37 pm    Naslov sporočila:   Odgovori s citatom

Imaš možnost preizkusiti vezje na pravem serijskem portu (z max232)?
Drugače poskusi spremeniti baudrate.

lp
Jan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.10
Kraj: Celje

PrispevekObjavljeno: Sre Sep 17, 2008 3:44 pm    Naslov sporočila:   Odgovori s citatom

Ne, te možnosti žal nimam. Drugače sem pa preizkusil na dveh računalnikih in ne glede na to, kakšen podatek pošljem, prejmem NULL. Bom še poizkusil znižati Baud rate...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Jan
Član
Član



Pridružen-a: Sob 10 Jun 2006 14:19
Prispevkov: 313
Aktiv.: 1.35
Kraj: Dolenjska

PrispevekObjavljeno: Sre Sep 17, 2008 3:56 pm    Naslov sporočila:   Odgovori s citatom

Če imaš še vedno težave, poskusi inicializirati port s to funkcijo:

Koda:
void USART_Init( unsigned int baud )
{
/* Set baud rate */
UBRRH = (unsigned char)(baud>>8);
UBRRL = (unsigned char)baud;
/* Enable receiver and transmitter */
UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 2stop bit */
UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
}


lp
Jan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.10
Kraj: Celje

PrispevekObjavljeno: Sre Sep 17, 2008 5:32 pm    Naslov sporočila:   Odgovori s citatom

Jan hvala. Očitno ni bila vredu inicializacija. Sedaj deluje super Very Happy .
Bom še kar tukaj nekaj vprašal. Na kakšen način se še da dostopati do teh podatkov, ki se prenesejo na računalnik. Npr. da bi jih sedaj uporabil v kakšnem programčku, ki bi ga na računalniku napisal, npr. v C-ju. Mi lahko kdo malo razloži, če se je kdo ukvarjal s tem?
Ali pa npr. kako in s katerimi programi se da naprej obdelati podatke, tako kot v tem
projektu ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.70
Kraj: Kranj - struževo

PrispevekObjavljeno: Sre Sep 17, 2008 10:40 pm    Naslov sporočila:   Odgovori s citatom

upornik je napisal/a:
Na kakšen način se še da dostopati do teh podatkov, ki se prenesejo na računalnik. Npr. da bi jih sedaj uporabil v kakšnem programčku, ki bi ga na računalniku napisal, npr. v C-ju. Mi lahko kdo malo razloži, če se je kdo ukvarjal s tem?

Tako kot si zgoraj napisal.
Napišeš svoj program v C-ju, kjer odpreš COM port in bereš / pišeš podatke.
Kaj pa s temi podatki potem počneš, pa je povsem tvoja stvar.
Moj program, ki si ga dal za primer, je spisan v Delphiju (jezik pascal). Na forumu je že mnogo primerov, kako uporabljat COM port v Pascalu.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
upornik
Član
Član



Pridružen-a: Ned 09 Jan 2005 22:35
Prispevkov: 261
Aktiv.: 1.10
Kraj: Celje

PrispevekObjavljeno: Čet Sep 18, 2008 11:21 am    Naslov sporočila:   Odgovori s citatom

Citiram:
Napišeš svoj program v C-ju, kjer odpreš COM port in bereš / pišeš podatke.

Kako se pa dostopa do teh podatkov? Pridejo v kakšen register iz katerega jih potem lahko preberem? Ima mogoče kdo kakšen primer? Edino, kar mi pride na pamet je, da bi npr. iz terminala Docklight podatke zapisal v neko datoteko, potem bi pa napisal program, ki bi bral iz te datoteke. Samo to se verjetno dela drugače.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Jan
Član
Član



Pridružen-a: Sob 10 Jun 2006 14:19
Prispevkov: 313
Aktiv.: 1.35
Kraj: Dolenjska

PrispevekObjavljeno: Čet Sep 18, 2008 12:10 pm    Naslov sporočila:   Odgovori s citatom

Poglej si npr. Visual C# Express (brezplačna inštalacija na Microsoftovi strani). Preberi si kakšen tutorial, da se naučiš osnov, in potem lahko poišeš primer programa, ki bere iz COM porta.

lp
Jan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.70
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Sep 30, 2008 9:01 am    Naslov sporočila:   Odgovori s citatom

upornik je napisal/a:
Ima mogoče kdo kakšen primer?

aly je napisal/a:
Na forumu je že mnogo primerov, kako uporabljat COM port v Pascalu.


Kaj pomagajo odgovori, če jih ne bereš...

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
snow
Član
Član



Pridružen-a: Tor 27 Dec 2005 14:02
Prispevkov: 341
Aktiv.: 1.44
Kraj: Ljubljana || Velenje

PrispevekObjavljeno: Tor Sep 30, 2008 4:20 pm    Naslov sporočila:   Odgovori s citatom

Zakaj pa ne uporabljate d2xx gonilnikov?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 494 dni


Powered by phpBB © 2001, 2005 phpBB Group