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 / 795
(#) 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 Csü, 9:48 /
 
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 Csü, 10:37 /
 
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 (») Csü, 18:18 /
 
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 (») Csü, 19:07 /
 
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 (») Csü, 19:26 /
 
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.
Következő: »»   795 / 795
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu