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 

Bascom Attiny13 in ADC
Pojdi na stran 1, 2  Naslednja
 
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
LEDuser
Član
Član



Pridružen-a: Pon 31 Mar 2008 12:06
Prispevkov: 1104
Aktiv.: 5.27
Kraj: Ljubljana

PrispevekObjavljeno: Sob Jan 31, 2009 7:39 pm    Naslov sporočila:  Bascom Attiny13 in ADC Odgovori s citatom

Zanima me zakaj mi zmanjka SRAMa ko hočem uporabiti ADC v bascomu? Ali obstaja kakšna koda ki bi omogočila uporaba ADCja?
Imam pa še en problem in sicer ko hočem uporabiti PWM (Bascom) mi vedno znova piše napako. Uporabljam spodnjo konfiguracijo Timerja in ukaz Pwm1a = x.

Koda:

...

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1

pwm1a = 100
pwm1b = 50

...


_________________
Razsvetljujemo od leta 1920!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.93
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Jan 31, 2009 7:45 pm    Naslov sporočila:   Odgovori s citatom

Bascoma sicer ne poznam. Sram ti lahko pokuri sklad. (kaka vgreznena zanka s katere se ne vračaš) Če prevajalnik omogoča pretvorbo v assemblersko kodo, jo pripni.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Član
Član



Pridružen-a: Sre 03 Mar 2004 21:35
Prispevkov: 563
Aktiv.: 2.38
Kraj: Ljubljana

PrispevekObjavljeno: Sob Jan 31, 2009 9:11 pm    Naslov sporočila:   Odgovori s citatom

Kaj pa ostale spremenljivke, koliko tega imaš v programu?
Mogoče imaš prevelike vrednosti za HWStack, SWStack in Framesize, in ti zmanjka prostora za spremenljivke. Moraš malo paziti ker imaš samo 64 bajtov Ram-a,Bascom pa je potraten.
Vlado
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
LEDuser
Član
Član



Pridružen-a: Pon 31 Mar 2008 12:06
Prispevkov: 1104
Aktiv.: 5.27
Kraj: Ljubljana

PrispevekObjavljeno: Sob Jan 31, 2009 9:45 pm    Naslov sporočila:   Odgovori s citatom

Imam samo eno spremenljivko (word) in z ukazom GetADC(1) = W ali brez mi zmanjka prostora. Zdi se mi da je to skoraj nemogoče saj ko uporabljam mego8 ki ima samo 8x več spomina mi ni nikoli zmanjkalo prosotra pa sem uporabljal ogromno spremenljivk.
Kar se pa tiče pretvorbe .bas v .asm pa ne najdem v Bascomu.

_________________
Razsvetljujemo od leta 1920!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Član
Član



Pridružen-a: Sre 03 Mar 2004 21:35
Prispevkov: 563
Aktiv.: 2.38
Kraj: Ljubljana

PrispevekObjavljeno: Ned Feb 01, 2009 12:01 pm    Naslov sporočila:   Odgovori s citatom

Hm . . .
kot sem ti povedal, predvidevam da nisi na začetku programa nastavil stack, vendar je ostal tako kot je v Bascom -> Options.
Že sam stack ti zavzame vseh 64 bajtov rama!
M8 pa ima 1 K SRAM-a kar je precej precej več kot tistih 64 bajtov.
Vlado



Bascom.jpg
 Opis:
 Velikost datoteke:  32.06 KB
 Pogledana:  16 krat

Bascom.jpg


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



Pridružen-a: Pon 31 Mar 2008 12:06
Prispevkov: 1104
Aktiv.: 5.27
Kraj: Ljubljana

PrispevekObjavljeno: Ned Feb 01, 2009 2:39 pm    Naslov sporočila:   Odgovori s citatom

Super Vlado sedaj deluje. Very Happy Vprašal bi te tudi kako je s PWM ker pri megi mi je to normalno delovalo sedaj pa ko kliknem Compile mi izpiše napako:

Error: 46 Assignment error [PWM1A:0 P: 2], in file: ...

Koda:

$regfile = "attiny13.dat"
$crystal = 1000000

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Timer1
Start Adc

Dim W As Word
Dim P As Byte

W = 0
P = W / 4

Do

W = Getadc(1)
Pwm1a = P
Pwm1b = 255 - P

Loop

_________________
Razsvetljujemo od leta 1920!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Član
Član



Pridružen-a: Sre 03 Mar 2004 21:35
Prispevkov: 563
Aktiv.: 2.38
Kraj: Ljubljana

PrispevekObjavljeno: Ned Feb 01, 2009 3:41 pm    Naslov sporočila:   Odgovori s citatom

Hoj,
treba bo prebrati datashet od ATTiny13, ni druge pomoči.
V tem primeru ni dovolj pogledati sample in Help.
Ali ATTiny13 ima Timer1?
Preberi vse kaj je v zvezi z Timer-jem pa bo šlo.
Vlado
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
LEDuser
Član
Član



Pridružen-a: Pon 31 Mar 2008 12:06
Prispevkov: 1104
Aktiv.: 5.27
Kraj: Ljubljana

PrispevekObjavljeno: Ned Feb 01, 2009 4:06 pm    Naslov sporočila:   Odgovori s citatom

Hvala za pomoč vendar je google vseveden in sem našel kodo. Zanima me pa še kako nastaviti frekvenco da bo točna. V Bascomu sem nastavil frekvenco ($crystal = 4800000) nato pa sem sprogramiral v AVR studio (ker mi v bascomu ko izberem STK500 extended izpiše napako "103") in pod fuse biti nastavil notranji oscilator frekvence 4.8MHz. V programu sem imel zanko Wait 1 in ko sem čip sprogramiral mi je utripalo kod da bi bilo Wait 10.

Prilagam kodo če jo kdo rabi.

Koda:

$regfile = "attiny13.dat"
$crystal = 1000000


[b]Config Timer0 = Pwm , Pwn = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
Enable Timer0
[/b]
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc


Dim W As Word
Dim P As Byte

Config Portb.0 = Output
Config Portb.1 = Output

W = 0

Do

W = Getadc(1)

P = B / 4

Ocr0a = P
Ocr0b = 255 - p

Loop

_________________
Razsvetljujemo od leta 1920!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
TilenS
Član
Član



Pridružen-a: Čet 24 Nov 2005 12:29
Prispevkov: 556
Aktiv.: 2.35

PrispevekObjavljeno: Ned Feb 01, 2009 4:10 pm    Naslov sporočila:   Odgovori s citatom

V programu imaš "$crystal = 1000000" še kar na 1Mhz ?

Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
LEDuser
Član
Član



Pridružen-a: Pon 31 Mar 2008 12:06
Prispevkov: 1104
Aktiv.: 5.27
Kraj: Ljubljana

PrispevekObjavljeno: Ned Feb 01, 2009 4:15 pm    Naslov sporočila:   Odgovori s citatom

Ne to je samo zadnja koda ki sem jo napisal. Sem poizkusil z obema ujemajočima frekvencama pa se ne ujemata v praksi Confused
_________________
Razsvetljujemo od leta 1920!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.93
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Feb 01, 2009 5:16 pm    Naslov sporočila:   Odgovori s citatom

LEDuser je napisal/a:
Ne to je samo zadnja koda ki sem jo napisal. Sem poizkusil z obema ujemajočima frekvencama pa se ne ujemata v praksi Confused


Kaj pa fuse bit CKDIV8 ? Kako je s kalibracijo oscilatorja? Zna vmesnik za programiranje v bascom-u kako prebrati signature byte ter kalibracijsko vrednost "spraviti" v OSCCAL register?

PS
Na točnost internega oscilatorja se ne preveč zanašat. Po izkušnjah je kakor pri pic-ih kot tudi AVR-jih - (s katerimi sem delal) kar precej netočen in je zelo odvisen od temperature okolice. Če so v rabi časovno odvisne aplikacije interni oscilator ni primeren.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
DejanX
Član
Član



Pridružen-a: Sob 11 Okt 2008 18:09
Prispevkov: 72
Aktiv.: 0.35
Kraj: Celje

PrispevekObjavljeno: Pet Feb 06, 2009 4:59 pm    Naslov sporočila:   Odgovori s citatom

Silvo je napisal/a:
PS
Na točnost internega oscilatorja se ne preveč zanašat. Po izkušnjah je kakor pri pic-ih kot tudi AVR-jih - (s katerimi sem delal) kar precej netočen in je zelo odvisen od temperature okolice. Če so v rabi časovno odvisne aplikacije interni oscilator ni primeren.

To imaš prav, vendar pa ga lahko spraviš do takšne mere, da ti v večini primerov zadostuje. Za kakšen prenos podatkov recimo.

Vendar je pa dobro imeti v kodi kakšno funkcijo za kalibracijo oscilatorja in jo zaženeš ob vsakem zagonu. Tako je potem še najbolj natančno.
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: Pet Feb 06, 2009 8:25 pm    Naslov sporočila:   Odgovori s citatom

... in potem se apliakcija segreje in zadeva neha funkcionirat.

Interni oscilator mikrokontrolerjev NI primeren za prenos, ki ne vsebuje takta (ali locenega ali pa vkomponiranega v tok podatkov).

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



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.93
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Feb 07, 2009 12:19 am    Naslov sporočila:   Odgovori s citatom

Sokrat je napisal/a:
... in potem se apliakcija segreje in zadeva neha funkcionirat.

Interni oscilator mikrokontrolerjev NI primeren za prenos, ki ne vsebuje takta (ali locenega ali pa vkomponiranega v tok podatkov).


Točno. Tipičen primer sem doživel pred kratkim.Šlo je za RC5 protokol, pri katerem se lahko privošči malenkostno odstopanje oscilatorja. Tukaj je bilo govora o tem. Srečkotu sem poslal sprogramiran mikrokontroler, ki je pri meni deloval brez problema. Njemu zadeva ni delovala. Oscilator se je pri max 5°C spremembi temperature toliko spremenil, da je branje RC5 protokola preveč zahajalo. Ko je dodal kristal je stvar delala kot mora.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
DejanX
Član
Član



Pridružen-a: Sob 11 Okt 2008 18:09
Prispevkov: 72
Aktiv.: 0.35
Kraj: Celje

PrispevekObjavljeno: Sob Feb 07, 2009 9:02 am    Naslov sporočila:   Odgovori s citatom

Za kakšne naprave, ki jih potrebuješ za recimo pol ure enkrat na teden, lahko brez težav uporabljaš notranji osciloskop.

Če pa želiš, da je stabilno in bo prižgano 24/7 in podobno pa je zunanji osciloskop res potreben.
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
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
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