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   802 / 837
(#) Max26 válasza csatti2 hozzászólására (») Feb 3, 2019 /
 
Köszönöm, kipróbálom timerrel. Atmega8A -t használok.
(#) simonsen válasza Max26 hozzászólására (») Feb 6, 2019 /
 
Helló!

Arduinó tankönyv

A milis()

utasítással kérdezhetjük le a bekapcsolás óta eltelt időt msec egységben.
value = millis(); // sets 'value' equal to millis()

Fontos!

[/b]Az eltelt idő számlálója kb. 9 óránként túlcsordul és nullázódik![/b]




"Tudtad,hogy az idő vasfoga vezeti az áramot?"


Úgy tudtam ,hogy az RTC erre való.
Pl: DS1307 vagy más hasonlók.

Próbáld ki.

Üdv simonsen!

"Működésképtelen elképzelése mindenkinek lehet"
(#) Kovidivi válasza simonsen hozzászólására (») Feb 6, 2019 /
 
Ajjaj. Olyan könyvből nem idéznék, ami az alap dolgokkal sincs tisztában!
A millis unsigned long változóban van eltárolva, és kb. 49 nap után fordul át!
(#) csatti2 válasza simonsen hozzászólására (») Feb 6, 2019 /
 
Ez nagyszerű, de ez itt az AVR fórum és nem az Arduino, a millis() pedig az Arduino keretrendszer része. Hozzá hasonlót könnyedén készíthet az egyik timer használatával (ezt javasoltam neki én). RTC-re semmi szükség sincs ehhez a feladathoz.
(#) killbill válasza csatti2 hozzászólására (») Feb 6, 2019 /
 
És az már csak hab a tortán, hogy a millis() az nem utasítás, hanem függvény.
(#) sitto hozzászólása Feb 9, 2019 /
 
Sziasztok!

ATTINY13 programozásával kapcsolatban lenne szükségem egy kis segítségre.
Egy arduino nano-val szertném programozni. A kapcsolást összeraktam e szerint a leírás szerint:
nano-attiny13

Viszont sem a bootloadert sem a blink programot nem tudom rá feltölteni.

Ezt kapom a bootloader feltöltésekor:
  1. avrdude: Version 6.3-20171130
  2.          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
  3.          Copyright (c) 2007-2014 Joerg Wunsch
  4.  
  5.          System wide configuration file is "C:\Users\T430\AppData\Local\Arduino15\packages\MicroCore\hardware\avr\1.0.4/avrdude.conf"
  6.  
  7.          Using Port                    : COM7
  8.          Using Programmer              : arduino
  9.          Overriding Baud Rate          : 19200
  10.          Setting bit clk period        : 32.0
  11. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
  12. avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
  13.          AVR Part                      : ATtiny13
  14.          Chip Erase delay              : 4000 us
  15.          PAGEL                         : P00
  16.          BS2                           : P00
  17.          RESET disposition             : dedicated
  18.          RETRY pulse                   : SCK
  19.          serial program mode           : yes
  20.          parallel program mode         : yes
  21.          Timeout                       : 200
  22.          StabDelay                     : 100
  23.          CmdexeDelay                   : 25
  24.          SyncLoops                     : 32
  25.          ByteDelay                     : 0
  26.          PollIndex                     : 3
  27.          PollValue                     : 0x53
  28.          Memory Detail                 :
  29.  
  30.                                   Block Poll               Page                       Polled
  31.            Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
  32.            ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
  33.            eeprom        65     5     4    0 no         64    4      0  4000  4000 0xff 0xff
  34.            flash         65     6    32    0 yes      1024   32     32  4500  4500 0xff 0xff
  35.            signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
  36.            lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  37.            calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00
  38.            lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  39.            hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  40.  
  41.          Programmer Type : Arduino
  42.          Description     : Arduino
  43.  
  44. avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
  45.  
  46. avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x02
  47.  
  48. avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
  49.          Hardware Version: 4744608
  50.          Firmware Version: 0.4611299
  51.          Topcard         : STK502
  52. Error while burning bootloader.
  53.          Vtarget         : 1.8 V
  54.          Varef           : 0.0 V
  55.          Oscillator      : Off
  56.          SCK period      : 0.1 us
  57.  
  58. avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x01
  59. avrdude: initialization failed, rc=-1
  60.          Double check connections and try again, or use -F to override
  61.          this check.
  62.  
  63. avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10
  64.  
  65. avrdude done.  Thank you.




Ezt pedig a blink feltöltésekor:

  1. avrdude: Version 6.3-20171130
  2.          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
  3.          Copyright (c) 2007-2014 Joerg Wunsch
  4.  
  5.          System wide configuration file is "C:\Users\T430\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf"
  6.  
  7.          Using Port                    : COM7
  8.          Using Programmer              : arduino
  9.          Overriding Baud Rate          : 19200
  10. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
  11. An error occurred while uploading the sketch
  12. avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
  13.          AVR Part                      : ATtiny13
  14.          Chip Erase delay              : 4000 us
  15.          PAGEL                         : P00
  16.          BS2                           : P00
  17.          RESET disposition             : dedicated
  18.          RETRY pulse                   : SCK
  19.          serial program mode           : yes
  20.          parallel program mode         : yes
  21.          Timeout                       : 200
  22.          StabDelay                     : 100
  23.          CmdexeDelay                   : 25
  24.          SyncLoops                     : 32
  25.          ByteDelay                     : 0
  26.          PollIndex                     : 3
  27.          PollValue                     : 0x53
  28.          Memory Detail                 :
  29.  
  30.                                   Block Poll               Page                       Polled
  31.            Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
  32.            ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
  33.            eeprom        65     5     4    0 no         64    4      0  4000  4000 0xff 0xff
  34.            flash         65     6    32    0 yes      1024   32     32  4500  4500 0xff 0xff
  35.            signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
  36.            lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  37.            calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00
  38.            lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  39.            hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  40.  
  41.          Programmer Type : Arduino
  42.          Description     : Arduino
  43.  
  44. avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
  45.  
  46. avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x02
  47.  
  48. avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
  49.          Hardware Version: 4744608
  50.          Firmware Version: 0.4611299
  51.          Topcard         : STK502
  52.          Vtarget         : 1.8 V
  53.          Varef           : 0.0 V
  54.          Oscillator      : Off
  55.          SCK period      : 0.1 us
  56.  
  57. avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x01
  58. avrdude: initialization failed, rc=-1
  59.          Double check connections and try again, or use -F to override
  60.          this check.
  61.  
  62. avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10
  63.  
  64. avrdude done.  Thank you.


A bekötést vagy 100x átnéztem, szerintem jó.

Találtam egy másik leírást is:
nano2

Próbáltam így is de ez sem megy. A különbség csak annyi az előző kapcsoláshoz képes, hogy ez a nano ICSP csatlakozóit használja és 3.3v helyett itt 5v van a 2. lábon.

Próbáltam egy 10µF kondit is kötni a nano gnd és rst lábai közé de az sem segít.
A hozzászólás módosítva: Feb 9, 2019
(#) sitto válasza sitto hozzászólására (») Feb 13, 2019 /
 
A kondi volt rossz.
(#) gordonfreemN hozzászólása Márc 1, 2019 /
 
Sziasztok!

ATMEGA8-16PU

Ezt szükséges a megépítendő kapcsolásba. Pontosabban az L-es verzió, de elvileg ennek is jónak kell lennie. Van esetleg ajánlottab típus közülük, mely szoftveresen és lábkiosztásban is megegyezik?
Köszönöm az infókat
A hozzászólás módosítva: Márc 1, 2019
(#) Seton válasza gordonfreemN hozzászólására (») Márc 1, 2019 /
 
Az ATmega8 helyett az ATmega88/168/328 jöhet még szóba, mint kompatibilis eszköz több memóriával. Ha azonban csak a hex forráskód van meg, akkor csupán az ATmega8(L) fog megfelelni.
(#) gordonfreemN válasza Seton hozzászólására (») Márc 1, 2019 /
 
Köszönöm a választ. Megfelel az Atmega8 is ugye? A kapcsolásba szerintem csak a jobb stabilotás miatt tett a szerző L-es verziót, egyébként 5V-os a táp.
(#) Kovidivi válasza gordonfreemN hozzászólására (») Márc 2, 2019 /
 
Nézz utána a feszültség és az órajel összefüggésére, mert ebben különbség van a sima és az L-es között. Lehet alacsony feszültségen számít csak, fejből ennyire emlékszem.
(#) Seton válasza gordonfreemN hozzászólására (») Márc 3, 2019 /
 
4 MHz, 5V, simán jó mindkettő.
(#) jano36 hozzászólása Márc 7, 2019 /
 
Csak egy rövid kérdésem lenne.
AVR programozásánál kell e az AVR oszcillátorának működni? Vagy elég a programozó által adott órajel?
Előre is köszönöm a választ.

jano36
(#) Kovidivi válasza jano36 hozzászólására (») Márc 7, 2019 /
 
Kell. Mivel nem tudod az AVR-t elérni, ha külső órajelet állítasz be, és nem raksz rá kvarcot/oszcillátort. Legalább a belső oszcillátor menjen!
A hozzászólás módosítva: Márc 7, 2019
(#) jano36 válasza Kovidivi hozzászólására (») Márc 8, 2019 /
 
Köszönöm
(#) gordonfreemN hozzászólása Márc 13, 2019 /
 
Sziasztok!

Most ismerkedek az AVR-rel. Van egy kész prgramom és egy USBASP-m, illetve egy atmega 8515. A Hex fájlt sikeresen feltöltöttem rá. Kérdésem az volna, hogy:
1. az EEPROM-nak üresen kell maradnia?
2. Illetve az aki írta a szoftvert, ezt írta:
"On atmega8515 you have to write only the fuse-bit named :
" Internal RC oscillator 8Mhz ""
ha jól értem, akkor valamelyik fuse bitet kellene átállítani, hogy az internal CLK 8MHz-en járjon. A csip 1MHz-es internal clock-kal jár gyári beállításban ha jól értem az adatlapot. Extreme burnerben nem találtam erre az internal clk-ra utaló fuse bitet, de ezzel ki is zárhatom magam a csipből ezért inkább kérdezek.
3. a HEX fájlok eleve tartalmazzák a bootloadert? Vagy ezt nekem kellene feltöltenem rá, de ilyet nem kaptam a programhoz.
A hozzászólás módosítva: Márc 13, 2019
(#) Kovidivi válasza gordonfreemN hozzászólására (») Márc 14, 2019 /
 
A hex. tartalmazhatja a bootloadert, ha úgy lett fordítva. Ha nem, akkor nem lesz az IC-n bootloader. Ha te fel is raksz egy bootloadert (a készítőnek ezt külön ki kellene emelnie, és letölthetőnek kell lennie) külön az IC-re, akkor viszont nem a programozóddal kell a programot feltöltened, hanem olyan módon, ahogy a bootloader megkívánja (soros port, wifi, akármi).
Én direkt bootloadert tartalmazó hex-et fordítok, így fel lehet rakni programozóval is, és ha már volt egy régebbi verzió a készüléken, akkor soros porton keresztül is programozható az IC.
A fuse bitre: használj valami értelmes programot. Olvasd ki vele a fuse biteket, és nézd meg, mit ír az internal clock-r, meg a 8-as osztóra. Neked lehet csak a 8-as osztót kell kikapcsolnod, szóval nagy a kavarodás, nem egyértelmű a program fejlesztő utasítása, kivéve, ha megmondja, melyik peogramot kell használnod. Egyébként, ha jól tudom, a 8-as osztás már peogramon belül is állítható, így nem kellene a felhasználókat feleslegesen terhelnie.
(#) rolandgw válasza gordonfreemN hozzászólására (») Márc 14, 2019 /
 
Egyszerűbb lenne, ha adnál valami linket, miről van szó. Itt kell megnézni a fuse beállításokat:
Bővebben: Link
Int RC Osc.-t kell 8 Mhz-re állítani.
(#) gordonfreemN válasza rolandgw hozzászólására (») Márc 14, 2019 /
 
Máris, köszönö, hogy segítetek!
Bővebben: Link
(#) rolandgw válasza gordonfreemN hozzászólására (») Márc 14, 2019 /
 
Ok, és regisztráljunk be a letöltéshez?
(#) gordonfreemN válasza rolandgw hozzászólására (») Márc 14, 2019 /
 
Ez lesz a jó program: csatolmány.

A hozzá való thread elején ezt írta:
Idézet:
„„I will post more projects that was made by me :
1. Volume controller / source selector for motor potentiometer ( like Alps blue velvet ) :
-schematics
-avr atmega8515 soft
-pcb
On atmega8515 you have to write only the fuse-bit named :
" Internal RC oscillator 8Mhz "””

motorpot.hex
    
(#) gordonfreemN válasza gordonfreemN hozzászólására (») Márc 14, 2019 /
 
Mik a különbségek ezek között:
avrdude
winavr
atmelstudio
bascom-avr
Nagyon nehéz kihámoznom nulla előélettel ezeket. Azt se tudom honnan induljak ha el szeretnék kezdeni egy programot megírni. Ha lenne valakinek türelme, az leírná nekem?
Akinek nincs, az persze ne is fáradjon azzal se, hogy eküld a francba. Hálás köszönet.
Illetve ha van egy USBASP programozóm az elég-e?
Olvastam még stk500 AVDRAGON stb programozóról is.
A hozzászólás módosítva: Márc 14, 2019
(#) rolandgw válasza gordonfreemN hozzászólására (») Márc 14, 2019 /
 
Ne haragudj, nem egészen értem miket raksz fel. A linken levő csatolmányban LCD_M8515_V_1_5_ONS.HEX van, most feltettél motorpot-ot. Szerintem csak be kell égetni a hex-et , te tudod melyiket, az Extreme burnerben pedig át lehet állítani az órajelet a Configure AVR clock source-nél internal 8 Mhz-re.
Bővebben: Link
(#) gordonfreemN válasza rolandgw hozzászólására (») Márc 14, 2019 /
 
Igen, már belekavarodtam, mert azon az oldalon több HEX is meg van adva. Gondolom, ahogy javította az illető. De ezt javítottam itt, most csak azt a programot látni itt, amiről szó van.
Bocsi, sajnos a fejemben is elég zavaros még ez az egész.
Extreme burnerben nem találok ilyen menüt, hogy configure AVR.
(#) rolandgw válasza gordonfreemN hozzászólására (») Márc 14, 2019 /
 
A szemüvegemet nem tudom csatolni.
(#) gordonfreemN válasza rolandgw hozzászólására (») Márc 14, 2019 /
 

Ja igen, megvan a menü (már tegnap is próbáltam), csak nekem ezt a hibaüzenetet dobja, amit nem értek, hiszen tudnia kellene.
(#) rolandgw válasza gordonfreemN hozzászólására (») Márc 14, 2019 /
 
Mit kellene tudnia? E4-D9, ha átállítod 8 Mhz-re és a többit hagyod default értéken.
(#) rolandgw válasza gordonfreemN hozzászólására (») Márc 14, 2019 /
 
Tulajdonképpen mit programozol? A linken 8515 van, ez a fuse alapérték pedig a mega8-nál van.
(#) gordonfreemN válasza rolandgw hozzászólására (») Márc 14, 2019 /
 
atmega8515-öt.
Pedig az van beállítva, mega8515 és ezt olvasta ki az extreme burner.
Már értem ezt a fuse bit beállítást, meg az első linket amit küldtél.
Hexbe kell megadni, az adatapban korábban megtalált bináris kódjait az egyes clk beállításoknak.
A hozzászólás módosítva: Márc 14, 2019
(#) rolandgw válasza gordonfreemN hozzászólására (») Márc 14, 2019 /
 
Ezt lehet, hogy te akartad beírni, erre dobta a hibaüzenetet? C1-D9 az alap, ezt kell átírni E4-D9-re. Mást ne állíts, mert kizárhatod magad. A bootloadert miért kérdezted? Nem látok erre utalást sehol.
Következő: »»   802 / 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