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   745 / 837
(#) Ivan93 válasza rascal hozzászólására (») Szept 20, 2016 /
 
Nekem a Studio4 megnyitja az .aps fájlt és mutatja az összes .c és .h fájlt. F7-el hiba nélkül lefordítja az egészet.
szerk.: ha a Rebuild All-al fordítom, akkor ad 26 figyelmeztetést felhasználatlan eredményekről és hasonlókról, de továbbra is sikeres a fordítás.
A hozzászólás módosítva: Szept 20, 2016
(#) rascal válasza Ivan93 hozzászólására (») Szept 20, 2016 /
 
A 7-es más kiterjesztéseket keres, nem .aps-t. Lehet, hogy van erre valami konverter.
Van: File / Import / AVR Studio 4 projekt.
Innen a kérdezőnél van megint a labda.
A hozzászólás módosítva: Szept 20, 2016
(#) worker válasza Ivan93 hozzászólására (») Szept 20, 2016 /
 
Szia !
Csak a szöveget szeretném egyszer-kétszer módosítani és fordítani AVR Studio-val.
(#) Ivan93 válasza worker hozzászólására (») Szept 20, 2016 /
 
Ha megmondod, hogy hol, mit, mire cseréljek, szívesen lefordítom neked. Írhatod privátban is, ha nem publikus a szöveg. Vagy abban segítsünk, hogy Te tudd megcsinálni?
(#) alita hozzászólása Szept 20, 2016 /
 
Sziasztok !
Az előző oldalon megirtam az általam megépitett MK II programozóval kapcsolatos problémámat.
Azóta sok önzetlen segitőkész társak tanácsával eljutottam odáig,hogy a firmware telepitése
elindult.Igencsak "elindult"mert a zöld csik futása pár pillanat alatt elindul és megáll.A Range és
Chekssun nem változott,maradt a régi.Tehát sikertelen a programozás.Ezt már sok alkalommal
eljátszottam sikertelenül.Connect módban ezért el sem indul,a piros led sem világit csatlakozáskor.
Várom további tanácsaitokat hogyan tovább.

Üdv:Mindenkinek !
(#) worker válasza Ivan93 hozzászólására (») Szept 20, 2016 /
 
igen magam szeretném, úgy tanulok is, ha módosítani szeretném akkor meg tudjam oldani.
Valójában még ilyen forrásfájllal ami ennyi részből tevődik össze nem volt dolgom. Az eredeti Istvanpisti által megírt kiváló programot tudom hiba nélkül fordítani, ám ha módosítom akkor fordítás után is az eredeti nem módosított hex fájlt kapom ?
(#) Ivan93 válasza worker hozzászólására (») Szept 20, 2016 /
 
Próbáld meg a Build->Rebuild All -al fordítani. A sima Build/F7 nekem nem mindig fordítja újra. Lehet azért, mert a .c fájlban nem lát változást, a .h-t pedig nem ellenőrzi ezután.
(#) Topi válasza alita hozzászólására (») Szept 21, 2016 /
 
1. Nyisd meg a FLIP programot
2. Zárt rövidre a HWB jumpert (ekkor belép a proci bootloader módba)
3. Dugd be az USB kábelt az mkII-be
4. Várd meg míg rendesen feltelepül / bejelentkezik
5. Flip -> Device -> Select -> AT90USB162
6. Flip -> Settings -> Communication -> USB -> Open
7. Flip -> File -> Load HEX
8. Flip -> Főoldalon checkbox-ok vannak, legyen bepipálva: Erase, Program, Verify
9. Flip -> Run gomb
10. Flip -> "Start Application" gomb.

Szerk: Nálam 3.4.5-ös flip van fent, ha ennél régebbi verziód van, mindenképp frissítsd.
A hozzászólás módosítva: Szept 21, 2016
(#) alita válasza Topi hozzászólására (») Szept 21, 2016 /
 
Többször végig csináltam a leirtakat,de az eredmény az előbbi.Csak részleges a feltöltés
továbbra is. Kiolvasva: Begin:00000 End:02FFF
(#) Topi válasza alita hozzászólására (») Szept 21, 2016 /
 
Hibás HEX?
(#) alita válasza Topi hozzászólására (») Szept 21, 2016 /
 
Hogy hibás-e?Ez nagy kérdés számomra.Megpróbáltam a nyákot küldő ajánlott firmware-vel
,valamint a Tavir 2 féle firmware-val sok alkalommal.

A próbálkozások után:Signature Bytes 58 1E 94 82

Device Boot lds 00 00

Bootloader ver. 1.0.5

Hogy a programozásban jártasoknak ez,és az előzőkben leirtak mit jelentenek,számomra
rejtély.
(#) alita válasza alita hozzászólására (») Szept 21, 2016 /
 
Ezek után úgy gondolom hibás a proci.Megpróbálom kibányászni,ha nem sikerül
irány a kazánház,majd ott magához tér.
(#) worker válasza Ivan93 hozzászólására (») Szept 22, 2016 /
 
Sajnos Build, Rebuild használatával hiányzó elf fájl hibaüzenet jelenik meg, valamint default mappában csak a make fájl jelenik meg
(#) alita válasza alita hozzászólására (») Szept 22, 2016 /
 
Köszönöm a problémám megoldására küldött tanácsokat.
Tanulságosak voltak számomra.Sajnálom,hogy nem sikerült mindezek
ellenére életre kelteni.
(#) Ivan93 válasza worker hozzászólására (») Szept 23, 2016 /
 
Amit feltöltöttél a kérdésedben, annak a deafult mappájában nekem benne van minden. Rebuild All után nálam frissít benne minden fájlt. Próbáld meg, hogy letöltöd innen a mappát és azt fordítod, lehet, hogy a próbálkozások során ment tönkre valami a mostani projektben. Az elf fájlt fordításkor hiányolja? (Most kipróbáltam, kitöröltem az elf-t és fordítottam. Gond nélkül fordult, és készített másikat.)
(#) worker válasza Ivan93 hozzászólására (») Szept 23, 2016 /
 
Nekem nem működik, gyanítom AVR Studio beállítása nem megfelelő.
Ebben szeretnék segítséget kérni.
(#) Cicow hozzászólása Szept 25, 2016 /
 
USART kommunikáció??
szerintetek működne a következő prg? attiny tx lábáról 2 byte kell küldeni a hardverre első "t" második nnn a baud rate 38400 a hw 2 másodperc alatt megcsinálja a parancsot (MP3 hangot játszik le)
  1. #define F_CPU 8000000
  2. #include <avr/io.h>
  3. #include <util/delay.h>
  4.  
  5. int main(void){
  6.         UBRRL = 12; // 38400 Baud rate 0,2% hiba
  7.        
  8. while(1) {
  9.   int x;
  10.   for (x = 0; x < 10; x++) {
  11.         while ( !( UCSRA & (1<<UDRE)) );        // puffer ürités
  12.         UDR = 0x74;                                             //kis t a vezérelt eszköz leirása szerint
  13.         while ( !( UCSRA & (1<<UDRE)) );
  14.     UDR = x;
  15.         _delay_ms(2000);
  16.   }
  17.  
  18.    _delay_ms(2000);
  19. }
  20. }


adatot nem akarok egyenlőre fogadni..így kell ezt csinálni?
A hozzászólás módosítva: Szept 26, 2016
(#) worker hozzászólása Szept 26, 2016 /
 
AVR Studio fordító használata megoldódott.
Köszönöm Istvanpisti fórumtársunk hathatós segítségét , elérési útvonalak beállítása nem volt megfelelő
(#) zolee1209 hozzászólása Szept 29, 2016 /
 
Sziasztok!

Egy napig görcsöltem, mire a hibát megtaláltam a programomban... A kérdésem az lenne, az adott utasítás miért nem működik? A mikrovezérlő ATmega328-as.

  1. sbi EIFR,(1<<0)

Ez az INT0 megszakítás flag-et kellene törölje, mert az interrupt kezelése során további megszakításkérések is jönnek, amit abban a rutinban kezelek le pollingolással. Ezért szükséges, hogy töröljem a flag-et, mielőtt kilépek belőle.

  1. ldi r16,0b00000001
  2. out EIFR,r16

Ezzel működik, csak nem értem, a fentebbi miért nem?!
Adott regiszter a 0x1C címen van, az sbi, cbi utasítást pedig 0x1F-ig lehet alkalmazni úgy tudom.
(#) rascal válasza zolee1209 hozzászólására (») Szept 29, 2016 /
 
Az sbi egyszerre nem csak egy bitet tud címezni, tehát nem a sorszámát kellene beírni, ami jelenleg nulla?
(#) zolee1209 válasza rascal hozzászólására (») Szept 29, 2016 /
 
Igazad van! Összekevertem a munkaregiszterek használatával. És a poén, hogy a szimulátorban törlődött a flag. Mintha csak most kezdtem volna a programozást...
(#) rascal válasza zolee1209 hozzászólására (») Szept 29, 2016 /
 
Van ez így.
(#) rolandgw válasza worker hozzászólására (») Szept 29, 2016 /
 
SBI-t nem használunk flag törlésre, mert read-modify-write utasítás, és ha más flag is van a regiszterben ami már 1-be állt, a visszaírással azt is törlöd.
Bővebben: Link
(#) rolandgw válasza rolandgw hozzászólására (») Szept 29, 2016 /
 
Bocs, zolee1209-nek szántam.
(#) zolee1209 válasza rolandgw hozzászólására (») Szept 29, 2016 /
 
Írtam már néhány programot, de ilyenbe sem futottam még bele. Köszönöm az infót.
(#) Sanyesz5 hozzászólása Okt 1, 2016 /
 
Sziasztok!

Avr-nél Calibration Byte mit jelent/illetve mit befolyásol?
Köszönöm előre is!
A bal kép szerint kellene belőni, valaki esetleg tudna segíteni?

kérdés.jpg
    
(#) zolee1209 válasza Sanyesz5 hozzászólására (») Okt 1, 2016 /
 
Szia!

A belső RC oszcillátort lehet vele hangolni bizonyos határok között. Adott típus adatlapjában bővebben olvashatsz róla, ha a "calibration byte"-ra rákeresel. Ha külső kvarcról megy, akkor nincs jelentősége. Ha a bal kép értéke lényeges számodra, akkor a jobb oldali ablakba a 4C értéket kell írni az 55 helyére.
(#) Sanyesz5 válasza zolee1209 hozzászólására (») Okt 1, 2016 /
 
Szia, külső kvarcról megy, úgy vettem észre hiába írom át, nem menti el.
(#) zolee1209 válasza Sanyesz5 hozzászólására (») Okt 1, 2016 /
 
Ezeket a programokat nem ismerem, de AVR Studio-ban csak olvasni lehet ezt az értéket, közvetlenül módosítani nem. Az AVR-ből kiolvassa a gyári kalibrációs értéket, és megadhatod neki, hogy ezt elmentse-e a flash, vagy az eeprom adott címére. Vannak típusok, amiknél ezt neked kell programból beírni az OSCCAL regiszterbe, vannak, amik automatikusan betöltik indulás során.

OSCCAL.png
    
(#) Sanyesz5 válasza zolee1209 hozzászólására (») Okt 1, 2016 /
 
Értem, köszönöm okosodtam most is!
Következő: »»   745 / 837
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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