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 

Branje ASCII znakov v ATmega32 preko rs232 komunikacije

 
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
trobida
Član
Član



Pridružen-a: Ned 09 Jul 2006 12:13
Prispevkov: 1250
Aktiv.: 5.42
Kraj: Savinjska dolina-okolica Gornjega Grada

PrispevekObjavljeno: Ned Mar 30, 2008 8:13 pm    Naslov sporočila:  Branje ASCII znakov v ATmega32 preko rs232 komunikacije Odgovori s citatom

Pozdrav!

Zanima me sledeče:

- Imam testni program, ki je napisan tako, da prebere ASCII znak in prebranega pošlje nazaj. Vendar imam tu en problem; ukaz INPUT mi ne prebere nobenega znaka. Čaka v nedogled, medtem ko ukaz PRINT deluje normalno.

Se pravi, da če preko Bascom terminala pošiljam ASCII znake, mi program v atmelu ne prebere nobenega znaka.

Poizkusil sem veliko kombinacij, vendar mi v nobenem primeru stvar ne deluje. Mogoče kdo ve, v čem je težava?

Pripenjam še kodo (eden od primerov):


Koda:
$regfile = "m32def.dat"
$crystal = 8000000
$baud = 9600

' za RS232
Dim Na As String * 10

Waitms 10

Print "Start"

Do

      Input Na
      Waitms 2
      Print Na                                               


   Waitms 2                                                 



Loop

End


Programiram v Bascomu in sicer z STK200/300 in z AVR ISP (STK500) programatorjema.

_________________
Lp

Tomaž, S57KO
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5529
Aktiv.: 24.06
Kraj: Domzale

PrispevekObjavljeno: Ned Mar 30, 2008 8:46 pm    Naslov sporočila:   Odgovori s citatom

Če uporabljaš ukaz Input, moraš po vpisu v HT pritisniti Enter!
Sicer uporabljaj ukaz inkey (poglej še waitkey).

LP, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
trobida
Član
Član



Pridružen-a: Ned 09 Jul 2006 12:13
Prispevkov: 1250
Aktiv.: 5.42
Kraj: Savinjska dolina-okolica Gornjega Grada

PrispevekObjavljeno: Pon Mar 31, 2008 6:40 pm    Naslov sporočila:   Odgovori s citatom

mucek je napisal/a:
Če uporabljaš ukaz Input, moraš po vpisu v HT pritisniti Enter!
Sicer uporabljaj ukaz inkey (poglej še waitkey).

LP, Grega


Sem poizkusil uporabit tudi ta dva ukaza, vendar je problem isti, še vedno nekaj ni ok.

Sem takšno rešitev uporabljal že na 89c20xx primerkih, vendar je zadeva vedno delovala. Sedaj sem prešel na AVR-je pa mi stvar ne deluje. Pri samem HT-ju mi sicer izpiše start, vendar ne morem vnesti nobenega znaka (že to mi je malo nenavadno). Poskusil sem tudi z programom Docklight, kjer lahko točno definiraš vsak znak posebej, vendar tudi to ni delovalo. Same Fuse sem nastavil tako, kot predlagajo v Bascom helpu.

Predvidevam, da je neka banalna malenkost, samo mi enostavno ni jasno kaj bi to lahko bilo.

PS: Preveril sem tudi z osciloskom, če deluje komunikacija PC - Atmel, vendar je vse ok.

_________________
Lp

Tomaž, S57KO
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Pon Mar 31, 2008 11:38 pm    Naslov sporočila:   Odgovori s citatom

Najprej poizkusi iz atmela oddaljati in na Pc strani sprejemati..
Če to deluje poizkusi še obrnjeno..
Kateri program na PC-ju uporabljaš?
nastavitve portov?
kakšen quartz imaš na kontrolerju?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
trobida
Član
Član



Pridružen-a: Ned 09 Jul 2006 12:13
Prispevkov: 1250
Aktiv.: 5.42
Kraj: Savinjska dolina-okolica Gornjega Grada

PrispevekObjavljeno: Tor Apr 01, 2008 8:11 pm    Naslov sporočila:   Odgovori s citatom

teslo je napisal/a:
Najprej poizkusi iz atmela oddaljati in na Pc strani sprejemati..
Če to deluje poizkusi še obrnjeno..
Kateri program na PC-ju uporabljaš?
nastavitve portov?
kakšen quartz imaš na kontrolerju?


Ja to sem tudi testiral. Pošiljanje iz Atmela na PC deluje brezhibno. Sem poskušal tudi na različnih baudrate-ih in ni bilo nikjer problema.
Težava pa se je pojavila pri obratni komunikaciji od PC-ja na Atmel. Tukaj mi ni šla komunikacija nikjer skozi.

Na PC-ju uporabljam: Docklight, HT, poskusil sem tudi z Basom-ovim terminalom, ampak povsod ista zgodba.

Spodnja slika prikazuje nastavitve na terminalu.

Ouartz pa uporabljam negovega internega in sicer:
- Int. RC Osc. 8 MHz; Start-up time:........
V bistvu uporabljam istega, kot ga predlagajov Bsacom helpu. Sem probal tudi z drugimi frekvencami, pa je isto.



Terminal1.jpg
 Opis:
 Velikost datoteke:  29.34 KB
 Pogledana:  3 krat

Terminal1.jpg



_________________
Lp

Tomaž, S57KO
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 723
Aktiv.: 3.05
Kraj: Severna primorska

PrispevekObjavljeno: Sre Apr 02, 2008 8:51 am    Naslov sporočila:   Odgovori s citatom

Hardware je ok?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Sre Apr 02, 2008 10:27 am    Naslov sporočila:   Odgovori s citatom

trobida je napisal/a:

Ouartz pa uporabljam negovega internega in sicer:


Daj gor quartz in velika verjetnost je, da ti bo stvar začela delovati.
Sam sem imel podobne težave.. Komunikacija je sicer delovala ampak zelo klavrno.
Po dodajanju quartza je stvar začela delovati kot urica.. in to brez spremembe kode..
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
trobida
Član
Član



Pridružen-a: Ned 09 Jul 2006 12:13
Prispevkov: 1250
Aktiv.: 5.42
Kraj: Savinjska dolina-okolica Gornjega Grada

PrispevekObjavljeno: Čet Apr 03, 2008 6:39 am    Naslov sporočila:   Odgovori s citatom

Hvala za nasvet, sicer tega še nisem preveril, še bom Smile .

Prej pa me zanima ena zadeva. Imam testno ploščo, kjer imam zunanji quartz 8MHz. Zanima me, kateri Fuse bit moram nastavit, da vklopim zunanji quartz. Sem namreč pred časom poizkusill na AT Mega8 in sicer sem nastavil Fuse bit
na zunanji 8 MHz quartz (sliko pripnem popoldne). Posledica, pa je bila, da nisem mogel več programirati tega čipa (če kdo ve kako resetirati to nastavitev, bi mu bil zelo hvaležen).

Zato me sedaj zanima, kateri Fuse moram nastaviti, da vklopim zunanji oscilator oz. quartz, da se mi ne bo ponovila zgornja zgodba. Ko mi bo to uspelo, pa bom poizkusil še komunikacijo.

PS: Komunikacijo sem preveril z osciloskopom, in deluje. Do pina na mojem Atmelu pride signal, tako da hardware ni problem, poleg tega pa sem probal na različnih atmelih, tudi na AT Mega 32 in ravno tako ne deluje.

Slika nastavitve fuse bitov sledi.

_________________
Lp

Tomaž, S57KO
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Čet Apr 03, 2008 9:18 am    Naslov sporočila:   Odgovori s citatom

trobida je napisal/a:

PS: Komunikacijo sem preveril z osciloskopom, in deluje. Do pina na mojem Atmelu pride signal, tako da hardware ni problem, poleg tega pa sem probal na različnih atmelih, tudi na AT Mega 32 in ravno tako ne deluje.



Predvidevam da tudi na AtMega32 nisi imel zunanjega quartza..
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5529
Aktiv.: 24.06
Kraj: Domzale

PrispevekObjavljeno: Čet Apr 03, 2008 10:17 am    Naslov sporočila:   Odgovori s citatom

Komunikacija na 2400 mora (!) delati z internim oscilatorjem. Prej bi rekel, da nekje (na računalniku ali v Bascomu) ni pravilno nastavljena hitrost komunikacije.
Si v Bascomu nastavil Options-Compiler-Communication pravilno, glede na hitrost, ki jo uporabljaš in hitrost oscilatorja?

LP, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Čet Apr 03, 2008 12:26 pm    Naslov sporočila:   Odgovori s citatom

mucek je napisal/a:
Komunikacija na 2400 mora (!) delati z internim oscilatorjem.


A lahko to trditev utemeljis ?

Asinhron prenos je "odporen" na razlike v hitrosti, ki ne presegajo dolzine intervala med vzorcenjem dveh zaporednih bitov. V praksi je to (odvisno od izvedbe UARTa) od nekaj % v praksi pa do 10% v teoriji (1 start + 8 data + 1 stop bit). Napaka, ki jo povzroci oscilator, ki generira clock UARTa, ki deluje z drugacno frekvenco kot oscilator na drugi strani, je izrazena v procentihvedno enaka ne glede na izbrano hitrost; 10% razlike je 10% tako pri 2400 bps kot pri 115200 bps.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
trobida
Član
Član



Pridružen-a: Ned 09 Jul 2006 12:13
Prispevkov: 1250
Aktiv.: 5.42
Kraj: Savinjska dolina-okolica Gornjega Grada

PrispevekObjavljeno: Čet Apr 03, 2008 2:24 pm    Naslov sporočila:   Odgovori s citatom

Še prej omenjena slika...


Fuse1.jpg
 Opis:
 Velikost datoteke:  67.42 KB
 Pogledana:  1 krat

Fuse1.jpg



_________________
Lp

Tomaž, S57KO
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
smatjaz
Član
Član



Pridružen-a: Pon 10 Nov 2003 16:33
Prispevkov: 846
Aktiv.: 3.57

PrispevekObjavljeno: Čet Apr 03, 2008 3:01 pm    Naslov sporočila:   Odgovori s citatom

Če imaš interni oscilator moraš nastaviti še pravo vrednost OSCCAL.

Zadeva preverjeno deluje. Uporabljam interni oscilator 1MHz (8MHz) in Baudrate 9600.

Lp M.

_________________
Električni aparati delujejo na dim ... ko dim iz njih uide ... ne delujejo več!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
MrPizza
Član
Član



Pridružen-a: Sob 06 Dec 2003 11:17
Prispevkov: 57
Aktiv.: 0.24
Kraj: Okolica MB

PrispevekObjavljeno: Čet Apr 03, 2008 9:01 pm    Naslov sporočila:   Odgovori s citatom

Ker gre za napako pri pošiljanju iz PC proti AVR bi lahko bi bil zanič driver. Ali pa ni način (protokol) pošiljanja pravilen.

V DockLightu mislim, da moraš kot konec prenosa dodat LF (new line, bližnjica v DL je Shift+Ctrl+Enter) ali CR (carriage return,bližnjica v DL je Ctrl+Enter ) morda celo oba. V ASCII tabeli sta to znaka 10 in 13.

Mislim, da je pravilno zaporedje eno od teh:
<znak-i_za_izpis><LF>
<znak-i_za_izpis><CR>
<znak-i_za_izpis><LF><CR>

_________________
Lep pozdrav,
Boštjan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
trobida
Član
Član



Pridružen-a: Ned 09 Jul 2006 12:13
Prispevkov: 1250
Aktiv.: 5.42
Kraj: Savinjska dolina-okolica Gornjega Grada

PrispevekObjavljeno: Sob Apr 26, 2008 6:15 pm    Naslov sporočila:   Odgovori s citatom

Malenkost časa je že minilo, od kar ta tema obstaja. Naj povem le, da stvar sedaj deluje. Vzrok za nedelovanje je bila moja testna plošča, na kateri bom moral vso situacijo še temeljito preštudirati :bonk: . Ko sem čip vstavil v v vezje, v katerem bo vsa stvar potekala je začelo delovati iz prve.

Da, včasih se napaka naredi tam, kjer to najmanj pričakuješ :bonk: Wink .

Še enkrat hvala za vašo pomoč !

_________________
Lp

Tomaž, S57KO
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