Szerző |
Üzenet |
Ros-Co.
a fórum lelke
Csatlakozott: hétf. nov. 08, 2004 20:03 Hozzászólások: 6046 Tartózkodási hely: Bp.
|
Irgum-burgum! Meg se nézted, még a letöltött zip-ben is benne van a kapcsolás
http://www.lancos.com/prog.html#avrisp
Üdv:
Farkas
|
csüt. júl. 05, 2007 19:34 |
|
|
S_B
ezüst tag
Csatlakozott: csüt. jún. 21, 2007 10:27 Hozzászólások: 92
|
Köszi!!!
|
csüt. júl. 05, 2007 19:15 |
|
|
snapscan
platina tag
Csatlakozott: szomb. jan. 01, 2005 11:21 Hozzászólások: 857
|
Idézet: Azzal az áramkörrel rá tudom írni a hex file-t?
igen
|
csüt. júl. 05, 2007 19:06 |
|
|
S_B
ezüst tag
Csatlakozott: csüt. jún. 21, 2007 10:27 Hozzászólások: 92
|
Köszi!
De milyen hardware kell hozzá??? Én csináltam 1 áramkört amivel a gépről távirányítós autót tudok iráyítani és ahhoz kell a micrót írni. Azzal az áramkörrel rá tudom írni a hex file-t? kapcsolási rajz:
|
csüt. júl. 05, 2007 18:57 |
|
|
Ros-Co.
a fórum lelke
Csatlakozott: hétf. nov. 08, 2004 20:03 Hozzászólások: 6046 Tartózkodási hely: Bp.
|
|
csüt. júl. 05, 2007 15:23 |
|
|
S_B
ezüst tag
Csatlakozott: csüt. jún. 21, 2007 10:27 Hozzászólások: 92
|
Hi!
Hogyan tudok ATmega48-ra 1 hex file-t rá írni?
|
csüt. júl. 05, 2007 14:20 |
|
|
stinkydiver
arany tag
Csatlakozott: szomb. júl. 22, 2006 18:22 Hozzászólások: 174 Tartózkodási hely: Ercsi
|
Vagy nem külön .h -ban van a deklaráció hanem a .c -ben és hátrébb van a forrásban, mint ahol használod.
|
szer. júl. 04, 2007 18:01 |
|
|
cd334
ezüst tag
Csatlakozott: hétf. nov. 14, 2005 11:35 Hozzászólások: 36 Tartózkodási hely: Budapest
|
Chiga írta: Sziasztok!
Amatőr kérdés következik:
ez pontosan mitől keletkezik és hogyan lehet megszűntetni? warning: implicit declaration of function ...
Nem jövök rá, hogy mi lehet a bibi. Újbóli fordítás után már nem reklamál...
Köszi a választ! Üdv. Chiga
Hivatalosan azt jenti, hogy nem pontosan dekralátál egy függvényt.
Nekem ez a hiba akkor jött elő, amikor a header fájlban definiált függvény nem egyezett a megvalósítottal.
Pl:
xxx.h:
void csinaljbalamit(void);
xxx.c:
void csinaljvalamit(void)
{
...
}
Nálam ettől függetlenül a program teljesen jól működött. Egy másik programból nekem sem sikerült kiirtanom, mégis működik a program 24/7/365-ben.
|
szer. júl. 04, 2007 17:47 |
|
|
Chiga
ezüst tag
Csatlakozott: szer. márc. 07, 2007 11:35 Hozzászólások: 18
|
Sziasztok!
Amatőr kérdés következik:
ez pontosan mitől keletkezik és hogyan lehet megszűntetni?
warning: implicit declaration of function ...
Nem jövök rá, hogy mi lehet a bibi. Újbóli fordítás után már nem reklamál...
Köszi a választ!
Üdv.
Chiga
|
kedd júl. 03, 2007 12:46 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Adatlapjuk összehasonlításával egyértelműen megtudod a választ. Ha a másik tudja azt, ami neked kell, akkor igen, ha nem, akkor nem.
|
csüt. jún. 21, 2007 18:51 |
|
|
S_B
ezüst tag
Csatlakozott: csüt. jún. 21, 2007 10:27 Hozzászólások: 92
|
Hello!
ATmega48 helyett használhatok ATmega8-at vagy ATmega88-at vagy ATmega168-at???
|
csüt. jún. 21, 2007 18:40 |
|
|
S_B
ezüst tag
Csatlakozott: csüt. jún. 21, 2007 10:27 Hozzászólások: 92
|
cd334 írta: Strinni Bence írta: Sziasztok!
Hol lehet Magyarországon ATmega48-as IC-t kapni??? Az MSC Budepstnél http://www.mscbp.hu/arlista/arlista.htm. Itt csak SMD-ben van most nekik, de ha nagy tételben kell vedd fel velük a kapcsolatot, mert ők a atmel hivatalos disztribútorai. Ők egyébként a legolcsóbbak. Dip tokos változatát a retnél tudod megvenni: http://www.ret.hu
Köszi!!! Nem gondoltam hogy ilyen hamar választ kapok rá.
|
csüt. jún. 21, 2007 14:06 |
|
|
cd334
ezüst tag
Csatlakozott: hétf. nov. 14, 2005 11:35 Hozzászólások: 36 Tartózkodási hely: Budapest
|
Strinni Bence írta: Sziasztok!
Hol lehet Magyarországon ATmega48-as IC-t kapni???
Az MSC Budepstnél http://www.mscbp.hu/arlista/arlista.htm. Itt csak SMD-ben van most nekik, de ha nagy tételben kell vedd fel velük a kapcsolatot, mert ők a atmel hivatalos disztribútorai. Ők egyébként a legolcsóbbak.
Dip tokos változatát a retnél tudod megvenni: http://www.ret.hu
|
csüt. jún. 21, 2007 13:49 |
|
|
LukE
vas-tag
Csatlakozott: pén. máj. 11, 2007 1:13 Hozzászólások: 6
|
Strinni Bence írta: Sziasztok!
Hol lehet Magyarországon ATmega48-as IC-t kapni???
vévévépontemescébépéponthu
( http://www.mscbp.hu/arlista/arlista.htm)
|
csüt. jún. 21, 2007 13:44 |
|
|
S_B
ezüst tag
Csatlakozott: csüt. jún. 21, 2007 10:27 Hozzászólások: 92
|
Sziasztok!
Hol lehet Magyarországon ATmega48-as IC-t kapni???
|
csüt. jún. 21, 2007 12:50 |
|
|
cd334
ezüst tag
Csatlakozott: hétf. nov. 14, 2005 11:35 Hozzászólások: 36 Tartózkodási hely: Budapest
|
Re: ATTINY2313 programozás C-ben
|
hétf. jún. 18, 2007 14:18 |
|
|
cd334
ezüst tag
Csatlakozott: hétf. nov. 14, 2005 11:35 Hozzászólások: 36 Tartózkodási hely: Budapest
|
Re: ATTINY2313 programozás C-ben
Ordeal írta: Oks!
Nincs hozzá programozóm.Az AVRStudio van meg de abban csak assemblyben lehet programozni. Még soha nem programoztam mikrokontrollert, csak gépet.És C-ben. Nem tudom hogyan kell egy szűz vasat talpraállítani.Megéne tanítan az RS232-re hogy tudja a soros portot kezeln, megmondani neki, mi lesz a be és kimenete, meg iylenek! Tudni szeretném milyen parancsokat lehet használni, miket kell include-olni stb. Szóval hogyan kell mikrokontrollert programozni C-ben! Első körbe ezek érdekelnének.Egy smsben elküldött kóddal vezérelhető modult építek ami autóriasztóként fog működni.A hardver kész, csak a program kéne bele.Azt fogja csinálni, hogy ha kinyitják az ajtót küld egy smst, hogy bementek a kocsidba, ha ráindítóznak a motorra küld megin.Te meg visszaküldhetsz neki sokféle kódot, és tudod vezérelni a kocsitt.pl: blokkolni a gyújtást, az AC-pumpát( üzmanyagszivattyú), de kapcsolgathatod a központizárat, dudáltathatod szaggatva a kocsit, mg ilyenek! De ezek most nem érdekesek, nemtom, hogy hogyan kell a mikrokontrollert proggramozni.Azok érdekelnek konkrétan amivel a válaszom eleén foglalkoztam.Várom válaszod
Nem kis fába vágtad a fejszédet és készülj fer rá, hogy esetleg sokat szívsz vele. Én egy kicsit alulméretezettnek érzem a procit a feladathoz, szerintem cipőskanál lesz.
Akkor első lépésként építeni vagy venni kéne hozzá egy programozót. Ha veszel akkor lehet gyári programozót venni, amit legolcsóbban az MSC-nél lehet ( http://www.mscbp.hu) vagy TávIR honlapon is van már kész USB-s programozó, vagy építesz egyet, ilyet szintén találsz a már említett TávIR honlapon. Attól függ mit bír el a költségvetésed, ha elbírja, akkor én a gyárit (ATAVRISP MKII), annak mindig lesz támogatása. A programozóknak van leírása ott meg tudod nézni, hogyan kell csinálni.
Szükséged van még az AVRStudio (4.13 build 528) legfrisebb változatára és a WinAVR(20070525) legfrisebb változatára. A legfrisebb AVRStudióban már van C támogatás debug szinten is.
Mint már említettem, ha installálod a WinAVR-t lesz doksid a speckó utasításodhoz. De itt van egy közvetlen link is http://www.nongnu.org/avr-libc/user-manual/index.html. Itt van szájbarágós példaprogram is.
Ezetúl a soros port inicializálása és alap küldés fogadás benne van az ATTINY2313 datasheet-ben. Ami kell azt megtalálod ott, hogyan kell portot inicializálni, perifériát kezelni.
Az AVRfeaks oldalon http://www.avrfreaks.net regisztrálj, van ott soknagyon jó forum, rengeteg project, példa. A fórumok között van Tutorial forum, ahol nagyon szájbarágósan(angolul), de mindent leírnak(soros port, timers, portok etc).
Olvasgass sokat!
Hajrá!
|
hétf. jún. 18, 2007 13:16 |
|
|
Ordeal
vas-tag
Csatlakozott: vas. jún. 17, 2007 18:45 Hozzászólások: 3 Tartózkodási hely: mikor hol
|
Re: ATTINY2313 programozás C-ben
cd334 írta: Ordeal írta: Először is köszönöm!
Az nem jó, hogy ennyire alig van hozzá vmi! Amit küldtél linkeket, ott "csak" (persze ez is hasznos) fejlesztői környezet van, de hogy hogyan kell magát az atmelt életrekelteni, meg ilyenek arról én nem találtam semmit....ha ez az én hibám és ott van csak nem láttam akkor írd meg please, ha meg nioncs akkor azért kösz hogy ezeket küldted, de legelső körben valami oktató jellegűbb dologra lenne szükségem Először is jó lenne tudni, hogy mid van. Van-e már programzód az IC-hez tudod-e programozni? Mi a feladat? Én WinAVR-rel szoktam programozni, ha telepítetetted abban van egy két példaprogram az AVR-libc dokumentációjában. Itt megtalálod az AVR specifikus C függvényeket is. Az AVRfreaks oldalán is egy kezdőknek való kis leírás igaz ez assemby nyelvhez. ( http://www.avrfreaks.net/index.php?module=FreaksArticles&func=downloadArticle&id=22). Egyébként jó átnézni az adott uC datashett-jét, abban mindent megtalálsz az adott kontrolleről, sőt még rövid asm és C példák is vannak bennük. Az atmel hivatalos weboldalán is rengeteg appnotes van ( http://www.atmel.com/dyn/products/app_notes.asp?family_id=607). A http://avr.tavir.hu/ oldalon lévő Bascom leírásban nagyon sok hasznos info van, még akkor is, ha C-ben akarsz programozni. Amíg nem írsz konkrétumokat, addig mi is csak általánosságban tudunk segíteni.
Oks!
Nincs hozzá programozóm.Az AVRStudio van meg de abban csak assemblyben lehet programozni.
Még soha nem programoztam mikrokontrollert, csak gépet.És C-ben.
Nem tudom hogyan kell egy szűz vasat talpraállítani.Megéne tanítan az RS232-re hogy tudja a soros portot kezeln, megmondani neki, mi lesz a be és kimenete, meg iylenek!
Tudni szeretném milyen parancsokat lehet használni, miket kell include-olni stb. Szóval hogyan kell mikrokontrollert programozni C-ben!
Első körbe ezek érdekelnének.Egy smsben elküldött kóddal vezérelhető modult építek ami autóriasztóként fog működni.A hardver kész, csak a program kéne bele.Azt fogja csinálni, hogy ha kinyitják az ajtót küld egy smst, hogy bementek a kocsidba, ha ráindítóznak a motorra küld megin.Te meg visszaküldhetsz neki sokféle kódot, és tudod vezérelni a kocsitt.pl: blokkolni a gyújtást, az AC-pumpát( üzmanyagszivattyú), de kapcsolgathatod a központizárat, dudáltathatod szaggatva a kocsit, mg ilyenek!
De ezek most nem érdekesek, nemtom, hogy hogyan kell a mikrokontrollert proggramozni.Azok érdekelnek konkrétan amivel a válaszom eleén foglalkoztam.Várom válaszod
|
hétf. jún. 18, 2007 12:29 |
|
|
cd334
ezüst tag
Csatlakozott: hétf. nov. 14, 2005 11:35 Hozzászólások: 36 Tartózkodási hely: Budapest
|
Re: ATTINY2313 programozás C-ben
Ordeal írta: Először is köszönöm!
Az nem jó, hogy ennyire alig van hozzá vmi! Amit küldtél linkeket, ott "csak" (persze ez is hasznos) fejlesztői környezet van, de hogy hogyan kell magát az atmelt életrekelteni, meg ilyenek arról én nem találtam semmit....ha ez az én hibám és ott van csak nem láttam akkor írd meg please, ha meg nioncs akkor azért kösz hogy ezeket küldted, de legelső körben valami oktató jellegűbb dologra lenne szükségem
Először is jó lenne tudni, hogy mid van. Van-e már programzód az IC-hez tudod-e programozni? Mi a feladat?
Én WinAVR-rel szoktam programozni, ha telepítetetted abban van egy két példaprogram az AVR-libc dokumentációjában. Itt megtalálod az AVR specifikus C függvényeket is.
Az AVRfreaks oldalán is egy kezdőknek való kis leírás igaz ez assemby nyelvhez. ( http://www.avrfreaks.net/index.php?module=FreaksArticles&func=downloadArticle&id=22).
Egyébként jó átnézni az adott uC datashett-jét, abban mindent megtalálsz az adott kontrolleről, sőt még rövid asm és C példák is vannak bennük.
Az atmel hivatalos weboldalán is rengeteg appnotes van ( http://www.atmel.com/dyn/products/app_notes.asp?family_id=607).
A http://avr.tavir.hu/ oldalon lévő Bascom leírásban nagyon sok hasznos info van, még akkor is, ha C-ben akarsz programozni.
Amíg nem írsz konkrétumokat, addig mi is csak általánosságban tudunk segíteni.
|
hétf. jún. 18, 2007 10:05 |
|
|
Ordeal
vas-tag
Csatlakozott: vas. jún. 17, 2007 18:45 Hozzászólások: 3 Tartózkodási hely: mikor hol
|
Re: ATTINY2313 programozás C-ben
LukE írta: Ordeal írta: Sziasztok! Nagyon fontos kérdésem van. Szeretek programozni, de eddig sosem programoztam mikrokontrollereket, csak a gépre írtam különböző progikat c-ben. Most viszont van egy fontos munkám, amit meg kéne csinálnom! NAGYON FONTOS! Szóval kéne nekem valamien (lehetőleg magyar) oldal, vagy könyv vagy nemtom, amiben van pár egyszterű példa hogyan kell atmelt (főként ezt a fajtát) c-ben programozni, hogy belerázódjak!Nagyon kérek mindenkit aki ért ehhez olyan írjon, vagy mondjon vmit hol lehet utána nézni. Sürgős lenne, szóval válaszaitokat küldjétek el az ordeal@citromail.hu-ra! Mindenkinek előre is köszönöm! Hááát. Magyar doksi, C, AVR hármas nem nagyon jön össze. Angolul http://www.avrfreaks.net/Ha Win32 alatt fejlesztes, akkor szedd le a WinAVR-t: http://sourceforge.net/projects/winavrA dokumentációjában van pár példaprogram. Magyarul Bascom-hoz van doksi: http://avr.tavir.hu/szerk: hagyneírjakmélt Főleg, hogy ha van valami kérdés, akkor arra másik n+1 ember is válaszolhat. És van egy értesítés funkció, ami küld egy mailt, ha valaki hozzászól a témához.
Először is köszönöm!
Az nem jó, hogy ennyire alig van hozzá vmi!
Amit küldtél linkeket, ott "csak" (persze ez is hasznos) fejlesztői környezet van, de hogy hogyan kell magát az atmelt életrekelteni, meg ilyenek arról én nem találtam semmit....ha ez az én hibám és ott van csak nem láttam akkor írd meg please, ha meg nioncs akkor azért kösz hogy ezeket küldted, de legelső körben valami oktató jellegűbb dologra lenne szükségem
|
vas. jún. 17, 2007 21:03 |
|
|
LukE
vas-tag
Csatlakozott: pén. máj. 11, 2007 1:13 Hozzászólások: 6
|
Re: ATTINY2313 programozás C-ben
Ordeal írta: Sziasztok! Nagyon fontos kérdésem van. Szeretek programozni, de eddig sosem programoztam mikrokontrollereket, csak a gépre írtam különböző progikat c-ben. Most viszont van egy fontos munkám, amit meg kéne csinálnom! NAGYON FONTOS! Szóval kéne nekem valamien (lehetőleg magyar) oldal, vagy könyv vagy nemtom, amiben van pár egyszterű példa hogyan kell atmelt (főként ezt a fajtát) c-ben programozni, hogy belerázódjak!Nagyon kérek mindenkit aki ért ehhez olyan írjon, vagy mondjon vmit hol lehet utána nézni. Sürgős lenne, szóval válaszaitokat küldjétek el az ordeal@citromail.hu-ra! Mindenkinek előre is köszönöm!
Hááát. Magyar doksi, C, AVR hármas nem nagyon jön össze.
Angolul http://www.avrfreaks.net/
Ha Win32 alatt fejlesztes, akkor szedd le a WinAVR-t: http://sourceforge.net/projects/winavr
A dokumentációjában van pár példaprogram.
Magyarul Bascom-hoz van doksi: http://avr.tavir.hu/
szerk: hagyneírjakmélt Főleg, hogy ha van valami kérdés, akkor arra másik n+1 ember is válaszolhat. És van egy értesítés funkció, ami küld egy mailt, ha valaki hozzászól a témához.
|
vas. jún. 17, 2007 20:31 |
|
|
Ordeal
vas-tag
Csatlakozott: vas. jún. 17, 2007 18:45 Hozzászólások: 3 Tartózkodási hely: mikor hol
|
ATTINY2313 programozás C-ben
Sziasztok!
Nagyon fontos kérdésem van.
Szeretek programozni, de eddig sosem programoztam mikrokontrollereket, csak a gépre írtam különböző progikat c-ben.
Most viszont van egy fontos munkám, amit meg kéne csinálnom!
NAGYON FONTOS!
Szóval kéne nekem valamien (lehetőleg magyar) oldal, vagy könyv vagy nemtom, amiben van pár egyszterű példa hogyan kell atmelt (főként ezt a fajtát) c-ben programozni, hogy belerázódjak!Nagyon kérek mindenkit aki ért ehhez olyan írjon, vagy mondjon vmit hol lehet utána nézni.
Sürgős lenne, szóval válaszaitokat küldjétek el az ordeal@citromail.hu-ra!
Mindenkinek előre is köszönöm!
|
vas. jún. 17, 2007 19:01 |
|
|
zeusz7
vas-tag
Csatlakozott: kedd jún. 12, 2007 17:16 Hozzászólások: 2
|
letöltöttem a legújabb ponyprogot és ott van külön ATtiny2313 és megy, köszi a tippet azért
|
szer. jún. 13, 2007 12:51 |
|
|
Ros-Co.
a fórum lelke
Csatlakozott: hétf. nov. 08, 2004 20:03 Hozzászólások: 6046 Tartózkodási hely: Bp.
|
A ponyprog-nál van egy ponyprog2000.ini fájl, abba nézz bele. Lehet hogy az időzítéseket piszkálni kell. WIN2000-hez az újabb ponyprog javallott.
|
kedd jún. 12, 2007 19:31 |
|
|
zeusz7
vas-tag
Csatlakozott: kedd jún. 12, 2007 17:16 Hozzászólások: 2
|
Pepita írta: Sziasztok!
90s2313 helyett szeretnék ATTINY2313-at használni.Tudna valaki segíteni hogyan kell beálítani a Ponyprogot,hogy működjön a dolog? Kezdő vagyok,érthetően kéne,pl melyik bitet mire állítsam,lock1,lock2,ckout,cksel stb. Előre is köszönöm.
Üdv:Pepita TavIR írta: Tiny és a 90S közt a következőt kell beállítani: DivClock/8 - Disable Órajelet kell még kiválasztani. Felülről a Tiny kompatibilis a 90S2313-l Bascom AVR programozási kézikönyv, minták: http://avr.tavir.hu
A problémám az, hogy az SI prog égető és pony prog 90S2313-nál megy, ATtiny2313-nál meg nem találja az eszközt.
Nem találom a ponyprogon belül a "divclock" engedélyezést, se az órajel kiválasztást.
Hogy kéne?
köszi
|
kedd jún. 12, 2007 17:23 |
|
|
LukE
vas-tag
Csatlakozott: pén. máj. 11, 2007 1:13 Hozzászólások: 6
|
Re: atmega164
solder123 írta: Sziasztok!
Használta már valaki az új atmega164-est? Csak mert az iom164-ben nincs benne az egyes portok címe (legújabb winavrt töltöttem le - 2007-január).
Esetleg legújabb codevision meg van valakinek? (1.25.6)
solder
abban tényleg nincs, de van benne egy
Kód: #include <avr/iomxx4.h>
sor
Az egész 164/324/644 "családnak" van egy közös include file-ja. Pölö M48/88/168-nál is így néznek ki az include fileok.
|
kedd máj. 22, 2007 20:36 |
|
|
solder123
ezüst tag
Csatlakozott: kedd márc. 29, 2005 19:48 Hozzászólások: 73
|
atmega164
Sziasztok!
Használta már valaki az új atmega164-est? Csak mert az iom164-ben nincs benne az egyes portok címe (legújabb winavrt töltöttem le - 2007-január).
Esetleg legújabb codevision meg van valakinek? (1.25.6)
solder
|
kedd máj. 22, 2007 16:14 |
|
|
solder123
ezüst tag
Csatlakozott: kedd márc. 29, 2005 19:48 Hozzászólások: 73
|
közben megoldottam...
megy a beépített írás is, csak nagy kapkodásomban elírtam valamit...
|
vas. ápr. 22, 2007 16:52 |
|
|
solder123
ezüst tag
Csatlakozott: kedd márc. 29, 2005 19:48 Hozzászólások: 73
|
ezt a két függvényt használom s nem a beépítettet... de nem megy.
void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
{
/* Wait for completion of previous write */
while(EECR & (1<<EEWE))
;
/* Set up address and data registers */
EEAR = uiAddress;
EEDR = ucData;
/* Write logical one to EEMWE */
EECR |= (1<<EEMWE);
/* Start eeprom write by setting EEWE */
EECR |= (1<<EEWE);
}
unsigned char EEPROM_read(unsigned int uiAddress)
{
/* Wait for completion of previous write */
while(EECR & (1<<EEWE))
;
/* Set up address register */
EEAR = uiAddress;
/* Start eeprom read by writing EERE */
EECR |= (1<<EERE);
/* Return data from data register */
return EEDR;
}
|
vas. ápr. 22, 2007 16:39 |
|
|
solder123
ezüst tag
Csatlakozott: kedd márc. 29, 2005 19:48 Hozzászólások: 73
|
eeprom mentes
Sziasztok!
Codevision alatt hogy megy az eepromba mentés? Valamit be kell állítani hozzá?
A sima datasheetben megadott fügvénnyel valahogy nem megy, vagyis ha újrabekapcsolom, akkor nem menti el az adatokat... nem értem..
solder
|
vas. ápr. 22, 2007 16:36 |
|
|
Chiga
ezüst tag
Csatlakozott: szer. márc. 07, 2007 11:35 Hozzászólások: 18
|
Sziasztok!
OK, ez így már működik, de hadd kötözködjek még egy kicsit
Ezzel csak annyi a baj, hogy így minden portlábhoz két makró kell,
egy be- egy kikapcsoló. Azt ezek szerint nem tudjuk megoldani, hogy
a két makró paraméterben kapja meg a "LED"-et, ahogy lentebb írtam?
Csak kérdezem...
Üdv.
|
csüt. ápr. 19, 2007 6:53 |
|
|
klavi
ezüst tag
Csatlakozott: szomb. máj. 27, 2006 21:39 Hozzászólások: 36
|
Ezt lehet még tovább ragozni, ha függvény-zárójeleket is raksz utána:
Kód: #define LED_BE() SETBIT(PORTD,5) #define LED_KI() CLEARBIT(PORTD,5)
A programban pedig:
LED_BE(); LED_KI();
Így elengánsabb, a forráskód szebben fog kinézni...
|
szer. ápr. 18, 2007 20:29 |
|
|
cd334
ezüst tag
Csatlakozott: hétf. nov. 14, 2005 11:35 Hozzászólások: 36 Tartózkodási hely: Budapest
|
Szia!
Tényleg.
#define LED_BE SETBIT(PORTD,5)
#define LED_KI CLEARBIT(PORTD,5)
A programban pedig:
LED_BE;
LED_KI;
Ez működik kipróbáltam.
|
szer. ápr. 18, 2007 13:48 |
|
|
Chiga
ezüst tag
Csatlakozott: szer. márc. 07, 2007 11:35 Hozzászólások: 18
|
Szia!
Ezt csináltam én is, de ez a hiba:
error: macro "SETBIT" requires 2 arguments, but only 1 given
A Te makroddal is.
A ket makrodat egy kicsit egyszerusitettem:
#define SETBIT(x,y) ((x) |= (1<<(y)))
#define CLEARBIT(x,y) ((x) &= ~(1<<(y)))
Üdv.
|
szer. ápr. 18, 2007 13:22 |
|
|
cd334
ezüst tag
Csatlakozott: hétf. nov. 14, 2005 11:35 Hozzászólások: 36 Tartózkodási hely: Budapest
|
Sziasztok!
Akkor
#define BIT(x) (1 << (x))
#define SETBITS(x,y) ((x) |= (y))
#define CLEARBITS(x,y) ((x) &= (~(y)))
#define SETBIT(x,y) SETBITS((x), (BIT((y))))
#define CLEARBIT(x,y) CLEARBITS((x), (BIT((y))))
#define LED PORTB,1
A progipan pedig:
SETBIT(LED);
CLEARBIT(LED);
|
szer. ápr. 18, 2007 12:33 |
|
|
Chiga
ezüst tag
Csatlakozott: szer. márc. 07, 2007 11:35 Hozzászólások: 18
|
Hali!
Köszi a javaslatokat!
Asszem nem voltam teljesen pontos, hogy mit is szeretnék. Bocs.
tehát valami olyant, hogy definiálok egy portlábat, mondjuk:
#define LED (PORTB,PB1)
aztán a progiból így kapcsolgatnám:
setbit(LED)
clearbit(LED)
Tehát ne kelljen már a progiból tudnom, hol is van a LED. Főleg, ha az később változna, az egész progit át kell írni. Akárhogy próbálom makrózni, nem sikerül. A korábban írt makróimat sem tudom lefordítani, az kicsit másképpen működne, ha műkodne...
Üdv.
|
szer. ápr. 18, 2007 9:13 |
|
|
stinkydiver
arany tag
Csatlakozott: szomb. júl. 22, 2006 18:22 Hozzászólások: 174 Tartózkodási hely: Ercsi
|
#include <avr/io.h>
PORTB|=_BV(2);
PORTB&=~_BV(2);
|
kedd ápr. 17, 2007 22:07 |
|
|
Chiga
ezüst tag
Csatlakozott: szer. márc. 07, 2007 11:35 Hozzászólások: 18
|
Köszi, biztosan!
Az enyém vajon miért nem tetszik a fordítónak?
|
kedd ápr. 17, 2007 18:14 |
|
|
cd334
ezüst tag
Csatlakozott: hétf. nov. 14, 2005 11:35 Hozzászólások: 36 Tartózkodási hely: Budapest
|
Szia!
Én így szoktam:
#define BIT(x) (1 << (x))
#define SETBITS(x,y) ((x) |= (y))
#define CLEARBITS(x,y) ((x) &= (~(y)))
#define SETBIT(x,y) SETBITS((x), (BIT((y))))
#define CLEARBIT(x,y) CLEARBITS((x), (BIT((y))))
A programban pedig:
SETBIT(PORTB,1);
CLEARBIT(PORTB,1);
Remélem tudod használni!
|
kedd ápr. 17, 2007 15:16 |
|
|
Chiga
ezüst tag
Csatlakozott: szer. márc. 07, 2007 11:35 Hozzászólások: 18
|
Hali,
amatőr kérdés:
az asm-béli pl. sbi vagy cbi PORTB,2 utasítást mivel szoktátok helyettesíteni C-ben?
Csináltam egy ilyent.Ez miért nem jó?
#define SetBit(address,bit) (address|=(1<<bit))
#define ClearBit(address,bit) (address&=~(1<<bit))
#define RUN_LED(i) (i=1 ? SetBit(PORTD,PD6) : ClearBit(PORTD,PD6))
int main(void)
{
RUN_LED(1);
RUN_LED(0);
......
Köszi!
|
kedd ápr. 17, 2007 14:57 |
|
|
vizslancs
ezüst tag
Csatlakozott: kedd márc. 06, 2007 8:11 Hozzászólások: 15 Tartózkodási hely: Győr
|
Jé..., most meg már jó:
avrdude: verifying ...
avrdude: 252 bytes of flash verified
Köszönöm mindenkinek a segítséget
Nemtudom miért volt gond az ellenőrzésnél..
|
hétf. ápr. 09, 2007 17:41 |
|
|
vizslancs
ezüst tag
Csatlakozott: kedd márc. 06, 2007 8:11 Hozzászólások: 15 Tartózkodási hely: Győr
|
Ok. Ha már nem csak tesztelek, akkor majd rakok mindenhova kondikat. Köszönöm.
Én a bekötést valami más rajz alapján csináltam. Most kicsit átvariáltam. Ezt az eredményt adta vissza a WinAVR:
> "make.exe" program
Creating load file for EEPROM: main.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0
d:\WinAVR\bin\avr-objcopy.exe: there are no sections to be copied!
avrdude -p atmega8 -P lpt1 -c stk200 -U flash:w:main.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9307
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "main.hex"
avrdude: input file main.hex auto detected as Intel Hex
avrdude: writing flash (252 bytes):
Writing | ################################################## | 100% 0.15s
avrdude: 252 bytes of flash written
avrdude: verifying flash memory against main.hex:
avrdude: load data flash data from input file main.hex:
avrdude: input file main.hex auto detected as Intel Hex
avrdude: input file main.hex contains 252 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.14s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x12 != 0x00
avrdude: verification error; content mismatch
avrdude done. Thank you.
make.exe: *** [program] Error 1
> Process Exit Code: 2
Már valami, de nem az igazai. Most mi helet a gond. Valamelyik még mindig rossz helyre van kötve?
|
hétf. ápr. 09, 2007 17:17 |
|
|
stinkydiver
arany tag
Csatlakozott: szomb. júl. 22, 2006 18:22 Hozzászólások: 174 Tartózkodási hely: Ercsi
|
Hát az stk200-nak is kell tápfesz.
http://www.lancos.com/e2p/betterSTK200.gif
És rosszul kötötted be.
|
hétf. ápr. 09, 2007 15:53 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Nem kell az oszcillátornak futnia a programozáshoz
A 100nF nem a pufferelésre kell, hanem hogy megakadályozza a 7805 gerjedését. Tehát tegyél szépen a bemenetére is, valamint a kontroller táplába(i) közé is. A digitális elektronikában nem spórolunk a tápfeszültség szűrésén, főleg hogy a kerámiakondenzátor olcsó.
|
hétf. ápr. 09, 2007 15:24 |
|
|
vizslancs
ezüst tag
Csatlakozott: kedd márc. 06, 2007 8:11 Hozzászólások: 15 Tartózkodási hely: Győr
|
Minden GND-t és VCC/AVCC -t bekötöttem. Raktam a 78L05 belső részére egy 100n kondit. Kivülre szerintem nem fontos, mert a dugasztápban van egy (asszem) 470uF-ot.
Nincs változás.. Ha több kondit nem rakok bele, akkor is működnie kéne, nem?
Nem lehet, hogy valamit rossz helyre kötöttem? Vagy az STK200-ba kötöttem rá rosszul?
|
hétf. ápr. 09, 2007 15:14 |
|
|
stinkydiver
arany tag
Csatlakozott: szomb. júl. 22, 2006 18:22 Hozzászólások: 174 Tartózkodási hely: Ercsi
|
A led elvileg akkor villog, ha adatátvitel van.
Viszont van a procin még egy gnd és az avcc-re is kell táp. És tegyél rá 100nF -okat a proci közelébe és a 78L05 be és kimenetére is.
|
hétf. ápr. 09, 2007 14:05 |
|
|
vizslancs
ezüst tag
Csatlakozott: kedd márc. 06, 2007 8:11 Hozzászólások: 15 Tartózkodási hely: Győr
|
Az a LED mire való pontosan az STK200-on? Mikor kéne világítania?
|
hétf. ápr. 09, 2007 13:29 |
|
|
vizslancs
ezüst tag
Csatlakozott: kedd márc. 06, 2007 8:11 Hozzászólások: 15 Tartózkodási hely: Győr
|
Ahogy adtam rá tápot, az STK200 LED-je elkezdett világítani.
Viszont most észrevettem egy contack hibát az AVR IC-nél amit javítottam, de most már nem világít a LED. A hibaüzenet továbbra sem változott.
|
hétf. ápr. 09, 2007 13:00 |
|
|
vizslancs
ezüst tag
Csatlakozott: kedd márc. 06, 2007 8:11 Hozzászólások: 15 Tartózkodási hely: Győr
|
Most adtam rá tápot is, de most se jó. Itt a teljes szöveg amit visszaad:
> "make.exe" program
Creating load file for EEPROM: main.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0
d:\WinAVR\bin\avr-objcopy.exe: there are no sections to be copied!
avrdude -p atmega8 -P lpt1 -c stk200 -U flash:w:main.hex
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
make.exe: *** [program] Error 1
> Process Exit Code: 2
|
hétf. ápr. 09, 2007 12:53 |
|
|
vizslancs
ezüst tag
Csatlakozott: kedd márc. 06, 2007 8:11 Hozzászólások: 15 Tartózkodási hely: Győr
|
Feltettem most a giveio-t.
Új hibaüzi:
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
|
hétf. ápr. 09, 2007 12:37 |
|
|