Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
WinAVR / GCC alapszabályok:
1. Ha ISR-ben használsz globális változót, az legyen "volatile"
2. Soha ne érjen véget a main() függvény
3. UART/USART hibák 99,9% a rossz órajel miatt van
4. Kerüld el a -O0 optimalizációs beállítást minden áron
5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás
6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et
Bővebben: AVR-libc FAQ
Lapozás: OK   288 / 840
(#) zsuscsinyo válasza David.zsombor hozzászólására (») Dec 11, 2010 / 1
 
Túl sok benne a hiba, szerintem először nézegess kész forráskódokat, tanulmányozd őket. Az is előnyös ha tudod korrekten a C nyelv szintaktikákat.

Hogy ne csupán okítás legyen elmondom mit hibáztál és hogy kell helyesen:

Hibás:
  1. void m_delay 10ms {
  2. ...
  3. }


Helyesen:
  1. void m_delay_10ms(unsigned int i){
  2. while(i--){ //megvizsgálja 'i' változót, ha nagyobb mint nulla akkor lefuttatja a ciklust, ezután csökkenti az értékét mindaddíg amíg nulla nem lesz
  3. _delay_ms(1); //Ciklusonként vár 1ms-ot
  4. }
  5. }


Figyelj a kis- és nagybetűkre, mert nem mindegy.

A "PINBx" kifejezés helyett nyugodtan használj számot, mivel ez is csupán egy előre definiált érték, pl: PINB4 az 4, vagy PINB1 az 1.
Ha mégis ragaszkodsz hozzá akkor nagybetűvel írd.
Ennél az 1-et shifteled balra annyi értékkel amennyit a PINBx takar.

Egy példa az adott bit 1-re állítására és törlésére:
  1. if(PORTB&(1<<3)) PORTB &= ~(1<<3); //Ha a PORTB 3. láb 1 akkor törli
  2. else PORTB |= (1<<3); //ellenkező esetben 1-re állítja
  3. if(PORTB&(1<<4)) PORTB &= ~(1<<4);
  4. else PORTB |= (1<<3);
(#) David.zsombor válasza zsuscsinyo hozzászólására (») Dec 11, 2010 /
 
Oké köszi.akkor így jó?
Ja és nem fordítja az avr studio f7re :no:

Ávéer.gif
    
(#) David.zsombor válasza David.zsombor hozzászólására (») Dec 11, 2010 /
 
Nem találtam hex file-t
(#) David.zsombor válasza David.zsombor hozzászólására (») Dec 11, 2010 /
 
ja bocsi megvan elso.lss
(#) Ricsi89 válasza David.zsombor hozzászólására (») Dec 11, 2010 /
 
Az lss fájl mióta hex? .hex végű fájlt keress a projekted default mappájában.
(#) David.zsombor válasza Ricsi89 hozzászólására (») Dec 11, 2010 /
 
igen rájöttem közben
Megszültem:
Akkor ez jó???(topi ezt te írtad saját kezüleg )

:100000000C9446000C945D000C945D000C945D0013
:100010000C945D000C945D000C945D000C945D00EC
:100020000C945D000C945D000C945D000C945D00DC
:100030000C945D000C945D000C945D000C945D00CC
:100040000C945D000C945D000C945D000C945D00BC
:100050000C945D000C945D000C945D000C945D00AC
:100060000C945D000C945D000C945D000C945D009C
:100070000C945D000C945D000C945D000C945D008C
:100080000C945D000C945D000C945D0011241FBE67
:10009000CFEFD0E1DEBFCDBF11E0A0E0B1E0E8E0FE
:1000A000F1E000E00BBF02C007900D92A030B10755
:1000B000D9F70E946A000C9482000C94000090E032
:1000C00024EC39E004C0F9013197F1F79F5F9817EC
:1000D000D0F3089588E187BB88E088BB44EC59E001
:1000E000C39B02C0C39801C0C39AC49B02C0C498FA
:1000F00001C0C49A20E0CA010197F1F72F5F2436AE
:0801000079F3F9CFF894FFCF69
:00000001FF
(#) trudnai válasza David.zsombor hozzászólására (») Dec 11, 2010 /
 
Nem lehet szokozt tenni fuggveny nevebe! Tegyel helyette alahuzast pl. Azonkivul van meg egy hiba: Hianyzik az argumentum deklaracios resz! Tehat zarojelek kozott meg kellene adnod az argumentumot, ha jol latom 'Val' meven akarod letrehozni, tehat 'delay_10ms ( int Val ) ' -- valahogy igy kellene kineznie...
(#) David.zsombor válasza trudnai hozzászólására (») Dec 11, 2010 /
 
Köszi.
(#) Beachway válasza zolee1209 hozzászólására (») Dec 11, 2010 /
 
Megpróbáltam még másik két olyan számítógéppel amin van RS232-es csatlakozó. Azokon a gépeken lehetett állítani a com portot. Elindítottam az írást, és azt írta ki ,hogy nem látja az eszközt. Így látatlanban írattam meg. 75% ig lassan felment, aztán hirtelen 100%-ra, és kiírta ,hogy íráshiba.Ez a folyamat kb 15 percig tartott. Mikor visszaolvastattam nem volt benne a program. Próbáltam tesztelni is de teszt hibát írt ki. Ez az író nem igazán kommunikálhat a géppel. Nem értem honnan vette azt a %-ot amit kiírt. Próbáltam több fajta Ponyprog2000-re is. Volt olyan amit nem is tudtam feltenni. Leellenőrzöm még egyszer a hardwart, bár ez annyira egyszerű , hogy el nem lehet rontani. Valami más programmal lenne érdemes megpróbálni, de sajna nem tudom melyik lenne a legalkalmasabb erre a célra.
(#) zsuscsinyo válasza David.zsombor hozzászólására (») Dec 11, 2010 /
 
Nem olvastad el figyelmesen! Leírtam mi a hiba, de még ugyanúgy bent van. De ha ".c" fájlban mellékeled, akkor tudjuk szerkeszteni, és nem kell leírni az egészet.
(#) zolee1209 válasza Beachway hozzászólására (») Dec 12, 2010 /
 
Jó lenne, ha belinkelnéd, melyik kapcsolást építetted meg, de gondolom egy STK200-at hoztál össze. Ez a programozó nem kompatibilis az AVR studioval, viszont amit én hallottam a Ponyprogról, viszonylag könnyen ki tudod magad zárni vele a processzorból. Jobb lenne, ha összehoznál egy STK500 (vagy kompatibilis) programozót, ezt kezeli az AVR Studio is. Bővebben: Link Pl ez megfelelő választás, nekem is ilyen van, és még nem volt vele nagyobb gondom. Igaz, ehhez fel kell programoznod egy AVR-t valamilyen úton, vagy meg tudod venni a HEStore-ból.
(#) David.zsombor válasza zsuscsinyo hozzászólására (») Dec 12, 2010 /
 
jó itt van.

main.c
    
(#) Beachway válasza zolee1209 hozzászólására (») Dec 12, 2010 /
 
Pont ezt a programozót szeretném megépíteni amit belinkeltél. Pontosabban már el is készült, csak a mikrovezérlőt kellene beletennem. Ezért építettem meg ezt Bővebben: Link Ez annyira egyszerű, hogy el sem lehet rontani. Ma leellenőriztem még egyszer az elektronikát. És feltettem egy újabb gépre. Hát ha a win akad össze valamivel. Itt sem látja az eszközt. Látatlanban írja csak, és 15 perc után (80%) kiírja hogy írás hiba. Gondolod kizártam magam a mikrovezérlőből? Próbáltam egy másik AVR-el is, de az szintén ugyanazt produkálja.
(#) Dudus válasza Beachway hozzászólására (») Dec 12, 2010 /
 
Milyen soros portot használsz?
(#) Beachway válasza Dudus hozzászólására (») Dec 12, 2010 /
 
RS232-t ahogyan az oldalon is van.
(#) David.zsombor hozzászólása Dec 12, 2010 /
 
Sziasztok megint én.C nyelvet/programozást hogy tudok tanulni? Mert a neten nem sok mindent találtam. Köszi.
(#) trudnai válasza David.zsombor hozzászólására (») Dec 12, 2010 /
 
"C tutorial" -ra keress ra...
(#) David.zsombor válasza trudnai hozzászólására (») Dec 12, 2010 /
 
ez a könyv van magyarul is akkor ezt fogom megvenniBővebben: Link
(#) Reggie válasza Beachway hozzászólására (») Dec 12, 2010 /
 
Ez a programozo csak a hagyomanyos sorosporttal mukodik, amely a 3F8,2F8,3E8,2E8 stb i/o cimekre ul be (A programban ezert csak a 4 COM portot latod se tobbet se kevesebbet). USB-RS232 konverterrel nem fog mukodni. Win 7/Vista alatt nem fog mukodni. Valamint a PonyProg a valos fuse bit allapotokat mutatja, tehat ha valamit bepipalsz az lesz a nem programozott allapot.
(#) trudnai válasza David.zsombor hozzászólására (») Dec 12, 2010 /
 
Igen, ez nagyon jo konyv C alapokra -- Ugye a szerzo paros alkotta meg magat a C nyelvet!
(#) David.zsombor válasza trudnai hozzászólására (») Dec 12, 2010 /
 
Akkor jó
(#) Beachway válasza Reggie hozzászólására (») Dec 12, 2010 /
 
Nagyon köszönöm a segítséget! Tehát keressek egy olyan XP-s gépet, amin van RS232 ,és azon próbáljam meg a leírtak szerint?
(#) gtk hozzászólása Dec 12, 2010 /
 
Ez a topic is kezd lemenni totyikba.
(#) Reggie válasza gtk hozzászólására (») Dec 12, 2010 /
 
Elegge. Mar miota nem volt olyan kerdes, amiben egy kicsi kihivast is ereztem volna...
(#) Reggie válasza Beachway hozzászólására (») Dec 12, 2010 /
 
Igen.
(#) Fizzy hozzászólása Dec 12, 2010 /
 
Sziasztok!

Szeretnék Atmega8-ast programozni, win7 alatt. A lehető legegyszerűbb módon. Keresgéltem az interneten és két lehetséges kapcsolást találtam:
A Parallel portos ponyprogtól: Bővebben: Link
A másik pedig egy soros portos: Bővebben: Link

Ezekhez az égetőhöz van szükségem külső tápra? Valamint az 1-ként belinkelt kapcsoláshoz megfelelő ugyan az a panel (ahova az atmegát teszem) ,mint ami a soros portoshoz van? (4MHz-es kristály 2 kondival?)

Ezek közül melyiket javasoljátok?
C nyelven szeretném programozni az avr-t. Milyen programban tehetem ezt meg, WinAvr? Valamint avr studioban lehet C-ben programozni, mert láttam, hogy abban lehet szimulálni a portokat például ami így kezdőként sokat segítene, vagy esetleg winavr-ben megírom és valahogy átviszem avr studióba?

Sokat keresgéltem az interneten, de nem találtam egy ilyen konkrét leírást erről. Ha sikerülne összeraknom és működésre bírnom egy égetőt, szívesen írnék egy összefoglalót az elinduláshoz.

Válaszotokat előre is köszönöm szépen!
Üdv, Fizzy
(#) Reggie válasza gtk hozzászólására (») Dec 12, 2010 /
 
Mondjuk lehet be kene vezetni egy ujfajta "szabalyzatot" erre a topicra, aminek a lenyege az lenne, hogy a 100-szor leirt, konnyen visszakeresheto (ergo komolytalan) kerdesekre csak 5-10 napos kesleltetessel valaszolunk, igy arra kesztetve a kerdezot, hogy hasznalja a fejet, a googlet, he. keresoje, stb... Ennek hatasara remelhetoleg csokken az ilyen keredesek szama. Azt hiszem en most nekilatok ennek. (Fizzy megada a vegso lokest )
(#) gtk válasza Reggie hozzászólására (») Dec 12, 2010 /
 
Van amikor siet az ember.. De pl. az abszolute kezdo programozas kerdesek furcsak ebben a topikban.
(#) Fizzy hozzászólása Dec 12, 2010 /
 
Sajnálom, hogy olyan kérdést írtam le amit már megválaszoltatok, hidd el, nem az volt az első dolgom, hogy leültem a fórum elé és na akkor álljunk neki 0-ról megkérdezem a többiektől. Napok óta keresgélek, mind itt, mind más oldalakon, de ezek a kérdések megválaszolatlanok maradtak benne, mint ahogy más emberekben is, ahogy te is említetted. Nem villamosmérnök vagyok hanem informatikus, így nem minden kérdés olyan egyértelmű sajnos nekem. Ezért is gondoltam, hogy ha rájövök, akkor írok egy amolyan Tutoriál félét, hogy másoknak se kelljen többet itt kérdezgetnie a már megunt kérdéseket, de úgy látom ez akkor már csak egy újabb elunt ötlet lesz.

Azért köszönöm!

Üdv mindenkinek,
Fizzy
(#) Reggie válasza Fizzy hozzászólására (») Dec 12, 2010 /
 
Ne haragudj, de kb a kerdesed elott 7 hozzaszolassal van egy hozzaszolasom ami a programozos kerdeseid masodik felere a valasz, a masik felere pedig te linkelted be a weboldalakat, csak el kene olvasnod. Az avr studios kerdesedhez beirod a googlebe, hogy "avr studio c" mire a 4. talalat: "Getting started in C on AVR - Getting started with C Programming ...", amit ha megnyitsz, azthiszem a 2. oldalon van, hogy AVR Studiora van szukseg es WinAVR-re.

Ha ennyit nem tettel meg, akkor mit keresel napok ota?
Következő: »»   288 / 840
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem