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   795 / 837
(#) Massawa válasza kapu48 hozzászólására (») Jún 9, 2018 /
 
Olyan kodsor nézet kellene ahol látom az elözö sort. A jelenlegi ablakban csak akkor látom, ha nincs elötte ugrás. Valahol van ilyen nézet, de a fenében sem találom. Most ha az egyik alrutinbol a másikba ugrik az ujat nyitja meg a elözöt meg már nem látom. Néha jo volna föleg ilyenkor látni, hogy mi is volt elötte. Mindent már nem tudok a fejben tartani.
Föleg ha a HW-ben léptetem a programot, ott kevés STOPot (piros pont) engedélyez igy ott még nehezebb követni az eseményeket.
(#) simonsen válasza MaSTeRFoXX hozzászólására (») Jún 10, 2018 /
 
Szia!

Itt már nincs senki nem létező oldal..

Üdv Simonsen!
(#) csatti2 válasza simonsen hozzászólására (») Jún 10, 2018 /
 
Te most tényleg egy 12 éves hozzászólásra válaszoltál?
(#) kala1982a válasza csatti2 hozzászólására (») Jún 13, 2018 /
 
Szia, még a panelterv elején tartok.Ezért is kérdeztem, hogy tehetem-e egy vezetőre a GND-t. Univerzális motorhoz kellene az egyenirányított 325V. A kínai relés távirányítóhoz 12V, az AVR-hez pedig az 5V. Kapunyitáshoz lesz majd az egész. Úgy döntöttem , hogy szerzek egy kis trafót és áttekerem, szerintem bezavarna a kínai távirányítónak is a nagyobb feszültség. Nagy gratz híd(25A, felesleges ilyen nagy, de ez van itthon)+400V 470µF kondi lenne a 325-ös tápban. Nem olyan rég készítettem egy maghántológéphez egy hasonló PWM szabályzást, de abba megvették nekem a két szekunderes kis trafót 8900Ft-ért. Kicsit sokallom érte.
(#) csatti2 válasza kala1982a hozzászólására (») Jún 13, 2018 / 1
 
1000Ft alatt kapható nyákba ültethető transzformátor. Nem kell túl nagy teljesítmény ugye. Biztos nem spórolnám ki, az embernek egy élete van.

Példa
(#) olika76 hozzászólása Jún 21, 2018 /
 
Kedves AVR-esek!

Olyan problémám van, hogy egy panelen levő atmega8-16au-ból kiolvastam mindent, azaz van flash, eeprom és config is. Viszont, amikor egy másik, ugyanilyen panelen lévőbe beírom, akkor az nem indul el.

Arra gondoltam, hogy a kiolvasáskor a programozó a saját oszcillátorát használta, amikor pedig működnie kellene, akkor a panelen levő 4MHz-es kristályt kellene használnia. Próbáltam értelmezni ezeket, kerestem a neten beállítást, de nem igazán találtam egyértelmű magyarázatot.

Csatoltam egy képet arról, hogy a kiolvasáskor mit kaptam a config file-ba.

Ha esetleg valaki értene hozzá és tudna segíteni nekem, akkor az nagy segítség lenne.

Előre is köszönöm!

Üdvözlettel: olika76

fuse_bits.jpg
    
(#) Massawa hozzászólása Jún 21, 2018 /
 
Kellene egy kis segitség. (Valoszinü már a fáradtság a gond).

  1. Tloop11:
  2.         lds b,coefx                             ; start the loop for the timing distribution
  3. ;       rjmp bground                    ; wait for interrupt
  4.         dec b
  5.         cpi b, 0                                ; divider by coefx
  6.         breq coefrst
  7.         sts coefx,b
  8.         ret


A codeban (joval hosszabb mint 400 sor, már megvannak az IRQ rutinok, de a fö IRQ Rutin igen nagyra sikerült, es most probalom redukálni. Az eredeti formájában megy, csak röviditeni kellene.

Szoval most a fö program része berakott kod. Ebben kellene a b regisztert rendszeres idöközben csökkenteni, azaz vagy abban a sorban ahol most a ;rjmp bground van, be kellene kombinálnom az IRQ idevágo részét. Azaz ott akkor kellene továbblépnie a programban, ha az IRQ-ben erre kap jelet. (az IRQ idözités müködik. A bg4x IRQ Rutin az ISR, azaz pontos idöközökben van hivva.
Ha a fenti kodot berakom oda, akkor megy, de nekem elég lenne ha itt lenne egy megszakitás, azaz a bg4x kezelné a b regisztert.

Kösz
(#) Sick-Bastard válasza olika76 hozzászólására (») Jún 21, 2018 / 1
 
Adatlap 215. oldal (körül).
Idézet:
„The ATmega8 provides six Lock Bits which can be left unprogrammed (“1”) or can be programmed
(“0”) to obtain the additional features listed in Table 86. The Lock Bits can only be
erased to “1” with the Chip Erase command.”


A chip Lock Bitjei be vannak kapcsolva. Az adat amit kiolvastál belőle használhatatlan. Csak egy Chip Erase után lehet ismét írni/olvasni a chipet.

SB
(#) zolee1209 válasza Massawa hozzászólására (») Jún 21, 2018 /
 
Szia.

Ha jól értem amit szeretnél, én ilyen esetben egy regisztert felhasználok szemafornak.

A főprogram figyeli adott bitet, ha azt az IRQ-ban beállítom, lefut.

  1. .def szemafor = r16
  2.  
  3.  main:
  4.   sbrc szemafor, 0
  5.   rcall rutin1
  6.   sbrc szemafor,1
  7.   rcall rutin2
  8.  rjmp main
  9.  
  10.  rutin1:
  11.    cbr szemafor,(1<<0)
  12.   ;csinálok valamit...
  13.  ret
  14.  
  15.  rutin2:
  16.    cbr szemafor,(1<<1)
  17.   ;csinálok valamit...
  18.  ret
  19.  
  20.  IRQ0:
  21.   ;szükséges adatok mentése...
  22.   sbr szemafor, (1<<0)
  23.   ;adatok visszaállítása...
  24.  reti
  25.  
  26.  IRQ1:
  27.   ;szükséges adatok mentése...
  28.   sbr szemafor, (1<<1)
  29.   ;adatok visszaállítása...
  30.  reti
(#) Massawa válasza zolee1209 hozzászólására (») Jún 21, 2018 /
 
Kösz megprobálom, de már zsong a fejem a kodtol.

Arrol van szo, hogy csináltam több ISR ( amik jelen pillanatban többnyire üresek, mert kivettem onnan az eddigi kodokat mert föleg az egyik igen nagyra sikerült - több oldalas és itt akadtam el.)

A b regisztert kellene rendszeres idöközökben csökkenteni a fö programban. Az egyik háttér rutin ugy lett kialakitva, hogy az másodpercenként 50x van hivva ( most üres) azaz csal egy ret van benne. Szoval az billenthetné a szemafor változot, és ha az 1 akkor lépne a fö program és csökkentené a b értékét.

Na megprobálom, hátha sikerül, adtál egy bogarat a fejembe.
(#) olika76 válasza Sick-Bastard hozzászólására (») Jún 24, 2018 /
 
Kedves Sick-Bastard!

Köszönöm, tényleg ez volt a baj.

Üdvözlettel: olika76
(#) fifadani hozzászólása Jún 25, 2018 /
 
Sziasztok!

Próbálkozott már valaki AVR QTouch-al?
Bármelyik AVR uC-rel megoldható?

Köszi,
Dani.
(#) rolandgw válasza fifadani hozzászólására (») Jún 25, 2018 /
 
Csak a PTC modulosak, pl. mega328PB.
(#) Szasza9668 hozzászólása Jún 28, 2018 /
 
Sziasztok!

attiny2313-nál ha 3 külső megszakítást szeretnék azt hogyan oldjam meg?
Csak az int0 és az int1 van tudomásom szerint. Az is megoldás lehet ha mondjuk az int0 lábat közösítem három másik lábbal és lekérdezem melyik volt lehúzva gnd-re? Esetleg software megoldás?

Köszönet!
(#) Kovidivi válasza Szasza9668 hozzászólására (») Jún 28, 2018 /
 
Fogsz egy fix időközönkénti interruptot, mondjuk 20mS, ha kétszer egymás után le volt nyomva a gomb, akkor lenyomottnak veszed, és feldolgozod. Vagy fogsz egy analóg bemenetet, azt kérdezed le bizonyos időnként, erre sokkal több gombot is felfűzhetsz soros ellenállásokkal.
(#) vargham válasza Szasza9668 hozzászólására (») Jún 28, 2018 /
 
Ennek az MCU-nak a Port B mind a nyolc bemenetén van külső interrupt. PCINT0-PCINT7 Lásd adatlap 2. oldal.
(#) Szasza9668 válasza vargham hozzászólására (») Jún 28, 2018 /
 
Köszönöm.
(#) vargham válasza Szasza9668 hozzászólására (») Jún 29, 2018 /
 
Arra figyelj, hogy a PCINT használata kicsit más, mint az INT.
(#) Szasza9668 válasza vargham hozzászólására (») Jún 29, 2018 /
 
Igen látom. Köszi!
(#) Gj hozzászólása Júl 4, 2018 /
 
Üdv!

AVR USB-n keresztül PC-hez való csatlakoztatásra keresek alternatívákat.
FT232RL USB-UART adaptereket használok már jó ideje, de keresek valami jobbat, stabilabbat. Ezen megoldás sebessége limitált, illetve kell hozzá egy külön chip és a PC-re egy FTDI driver.

Vannak olyan AVR-ek, amik alapból rendelkeznek USB interfésszel (pl. ATmega8U2), illetve hallottam valami V-USB-ről is.
Ezekről, illetve más megoldásokról tudnátok írni valami összefoglalást, felvilágosítást? Mik az előnyei, hátrányaik, mennyire stabilak, milyen gyorsak, milyen a támogatottságuk, dióhéjban hogyan lehet őket használni, stb..?

Köszi szépen!
(#) Sick-Bastard válasza Gj hozzászólására (») Júl 5, 2018 / 1
 
ATmega8U2 valóban van benne USB interface, ami ha jól tudom 12Mbps (USB 1.1 - Full Speed) sebességre képes. Kevesebb CPU erőforrást használ fel.

V-USB: Tisztán Sowftware-es megoldás, ami így erőforrást vesz el a chiptől. Előnye, hogy szinte az összes AVR-en alkalmazható (>=2KB Flash). Max 1,5Mbps (USB 1.1 - Low Speed).

FT232RL nagyobb testvére FT2232H: Nekem bejött, gyors USB 2.0 (480Mbps) a PC és a chip között. A bus sebessége nem korlátozó tényező. SPI módban akár 30 (vagy 60?) Mbps-re is képes.
Negatívum: USB 3.0-ás portban nekem nem működik megfelelően. (saját program: device not found) Még akkor sem, ha egy USB 2.0-ás HUB-on keresztül használom, ami manapság egyre nagyobb gondot fog jelenteni.
(#) LacaWatt hozzászólása Júl 5, 2018 /
 
Sziasztok!
Segítségetekre lenne szükségem, mert nem tudom működésre bírni Win7 alatt az egyik kedves fórumtárstól beszerzett a AVR ISP-met (Droper, V1.0-ás).
Már ott elakadok, hogy Windows automata telepítés után sem látom az eszközt (így a vituális com portot sem). Vagy lehet, hogy éppen az a baj, inkább egy adott drivert kellene feltegyek?
Akinek van tapasztalat hasonlóban kérem segítsen, mert egy hét után már sürgős lenne (328P-t kellene programoznom)...
Üdv, Laca
(#) Gj válasza Sick-Bastard hozzászólására (») Júl 5, 2018 /
 
Köszi szépen a részletes választ!

Az MCU-ba épített (pl. az említett ATmega8U2) USB interfész használata mennyivel stabilabb, megbízhatóbb az FTDI chipeknél?
Nekem is van vele problémám, hogy időnként a Windows nem ismeri fel az FT232RL-t és ki kell húzogatni, meg néha áramtalanítani az eszközt, hogy működjön. Ez a beépített interfésszel mennyire problémás?
(#) vargham válasza Gj hozzászólására (») Júl 5, 2018 /
 
Idézet:
„Ez a beépített interfésszel mennyire problémás?”

Az én tapasztalatom szerint problémásabb.
(#) rascal válasza LacaWatt hozzászólására (») Júl 5, 2018 /
 
Nekem az alábbi programozóm van és annál segített a zadig nevű program még win 7 alatt. Azóta win10-em van és azon nem próbáltam. A linken az adatlapoknál a png-t nézd meg a beállításokhoz.
Bővebben: Link
(#) LacaWatt válasza rascal hozzászólására (») Júl 6, 2018 /
 
Köszönöm, de ez egy másik készülék! Az enyém ez: AVR-Doper, USB-s ISP programozó
(#) rascal válasza LacaWatt hozzászólására (») Júl 6, 2018 /
 
Reméltem az elv, az usb driver lecserélése ennél is működik. A korábbi hozzászólásodban nem részletezted, de gondolom mostanra a linkelt cikk 5. oldalától írt lehetőségeket már végigpróbáltad és az sem hozott eredményt. B-tervnek szoktam ajánlani mindenféle hasonló bajra: Bővebben: Link
(#) Sicka hozzászólása Júl 19, 2018 /
 
Sziasztok!
Atmega 128 -ra szeretnék assembly-ben egy vasúti átjárót a következőképpen készíteni, de nem igazán jövök rá, hogy kellene....csak sima egyszerű módon tudom megcsinálni...
tudnátok segíteni?! nagyon megköszönném, mert egésznap ezen szenvedek már :/

feladat mellékelve képként!

vasuti.png
    
(#) kapu48 válasza Sicka hozzászólására (») Júl 20, 2018 /
 
Ezt olvastad?: Bővebben: Link


Letöltöd: PDF, Beginners Introduction to the Assembly Language - AVR-Assembler ...
Bővebben: Link

Itt válogathatsz:
Bővebben: Link
A hozzászólás módosítva: Júl 20, 2018
Moderátor által szerkesztve
(#) kistee hozzászólása Júl 21, 2018 /
 
Sziasztok!

Segítsetek légyszi, mert nem jutok ötről a hatra. Van egy, a WinAVR gcc-vel fordított hex fájl, amit szereték beírni egy ATTiny2313-ba, de sehogy sem sikerül.... Programozónak egy Arduino-t használok avrdude-dal.

Az avrdude nem ismeri fel a vezérlőt (pontosabban, ha nem tévedek Mega328-nak ismeri fel) és verify hibát is jelez. Részletek a mellékelt képen.

Mit hagytam ki, vagy mit csinálok rosszul?

T.

avdude.png
    
Következő: »»   795 / 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