ATtiny programozása
- benzinkutas
- DrótVégénSzéndarab
- Hozzászólások: 31
- Csatlakozott: 2011. április 30. szombat, 6:00
ATtiny programozása
Tisztelt fórumozók. Egy ATtiny45 akarok programozni arduino segítségével, de ezt a hiba jön feltöltés előtt OUTPUT was not declared in this scope
mi lehet a probléma.
mi lehet a probléma.
- benzinkutas
- DrótVégénSzéndarab
- Hozzászólások: 31
- Csatlakozott: 2011. április 30. szombat, 6:00
http://www.youtube.com/watch?v=3joqP07Qo-g A youtube oldalán találtam ezt a videót egyszerűnek tűnt és kipróbáltam. Lépésről lépésre követtem a videót de amikor a 45-re akartam tölteni a progit hiba üzenetet ad hogy az OUTPUT nincs deklarálva.
- benzinkutas
- DrótVégénSzéndarab
- Hozzászólások: 31
- Csatlakozott: 2011. április 30. szombat, 6:00
A szoftver verziójára gondoltam. Az Arduino 1.0-hez már másik libraryt készítettek. Innen próbáld meg újra http://hlt.media.mit.edu/?p=1695
Sziasztok!
Egy apró érdekesség, csak a mai napot szívtam vele:
Lefordul és ránézésre kb 1usec-es várakozást generál.
M8-on is kipróbáltam, ott sincs hiba, hogy "valami" változó nincs...
JAni
20:11
Egy apró érdekesség, csak a mai napot szívtam vele:
Kód: Egész kijelölése
$regfile = "atTiny45.dat"
$crystal = 8000000
Do
Waitus valami
Loop
End
M8-on is kipróbáltam, ott sincs hiba, hogy "valami" változó nincs...
JAni
20:11
- benzinkutas
- DrótVégénSzéndarab
- Hozzászólások: 31
- Csatlakozott: 2011. április 30. szombat, 6:00
megoldás
Köszi havasi a tippet valóban szoftver baj volt. A 1.0.1-hez töltöttem le azt a szoftvert ami a 0022-re való. Most már tudok Attiny45 ill. 85 programozni.
Jaj, jaj!
Van egy érdekes problémám:
Próbapenel T45 PU20 DIP8: a program tökéletesen működik.
Panelen T45 SU20 SO8: PortB1 (PWM1A) fordítva működik.
Rajtam nem fox ki. SO=>DIP foglalat, bele a kiforrasztott SO8 tok, bedug a DIP-es próbapanelbe, hááát ennél is fordítva megy a PWM.
Új chip, adapter, bedug próbapenel DIP helyére, hibás.
Már csak az maradt, hogy DIP bemadzagol SO8 helyére...
Szóval ugyan az a program SO8-ben másként fut mint DIP-ben.
A program verify nem jelez hibát és a 3PWM-ből csak ez az egy rakoncátlankodik.
Ötlet, tapasztalat?
(a program igen hosszú és bonyás és 2 proci beszélget, tehát debugra nincs esély)
Na, erre varrjak gombot.
JAni
Van egy érdekes problémám:
Próbapenel T45 PU20 DIP8: a program tökéletesen működik.
Panelen T45 SU20 SO8: PortB1 (PWM1A) fordítva működik.
Rajtam nem fox ki. SO=>DIP foglalat, bele a kiforrasztott SO8 tok, bedug a DIP-es próbapanelbe, hááát ennél is fordítva megy a PWM.
Új chip, adapter, bedug próbapenel DIP helyére, hibás.
Már csak az maradt, hogy DIP bemadzagol SO8 helyére...
Szóval ugyan az a program SO8-ben másként fut mint DIP-ben.
A program verify nem jelez hibát és a 3PWM-ből csak ez az egy rakoncátlankodik.
Ötlet, tapasztalat?
(a program igen hosszú és bonyás és 2 proci beszélget, tehát debugra nincs esély)
Na, erre varrjak gombot.
JAni
Re: ATtiny programozása
Nos megint 2 órányi szívással és egy kis tapasztalattal gyarapodtam.
Attiny25-tel szórakoztam, a 7-es fast PWM módban (WGM00 + WGM01 + WGM02).
Ez a PWM 0-tól OCRA-ig számol, amikor OCRB-t eléri, akkor 1-be (vagy 0-ba) rakja a kimenetet.
Alapból A portra definiáltam a kimenetet és se kép, se hang... A doksit átnyálazva végülis megtaláltam az utalást a probléma lényegére:
The Output Compare Register B contains an 8-bit value that is continuously compared with the counter value
(TCNT0). A match can be used to generate an Output Compare interrupt, or to generate a waveform output on the
OC0B pin.
A doksiban azt nem írták le, hogy OC0A-n nem megy, de itt legalább megemlítették, hogy OC0B-n megy.
A kutya ott volt elásva, hogy Atmega alatt a 16 bites időzítő tetszőleges lábon képes kiadni a kimenetet, míg a 8-bites számlálók csak a B-n.

Attiny25-tel szórakoztam, a 7-es fast PWM módban (WGM00 + WGM01 + WGM02).
Ez a PWM 0-tól OCRA-ig számol, amikor OCRB-t eléri, akkor 1-be (vagy 0-ba) rakja a kimenetet.
Alapból A portra definiáltam a kimenetet és se kép, se hang... A doksit átnyálazva végülis megtaláltam az utalást a probléma lényegére:
The Output Compare Register B contains an 8-bit value that is continuously compared with the counter value
(TCNT0). A match can be used to generate an Output Compare interrupt, or to generate a waveform output on the
OC0B pin.
A doksiban azt nem írták le, hogy OC0A-n nem megy, de itt legalább megemlítették, hogy OC0B-n megy.
A kutya ott volt elásva, hogy Atmega alatt a 16 bites időzítő tetszőleges lábon képes kiadni a kimenetet, míg a 8-bites számlálók csak a B-n.