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   714 / 840
(#) pont válasza teglascs hozzászólására (») Jan 8, 2016 / 1
 
Csinálsz hozzá egy megfelelő DIP-SO.. átalakítót.
(#) teglascs válasza pont hozzászólására (») Jan 8, 2016 /
 
Upppsz, ez a legegyszerűbb, tényleg!
(#) Kovidivi válasza teglascs hozzászólására (») Jan 8, 2016 / 1
 
Erre van egy csatlakozó a nyákon, amire rá tudod dugni a progamozót. Az reszeteli a mikrovezérlőt, berakja programozó módba, és feltölti rá a programot. Ezután újraindul, és már fut is a feltöltött program. ISP programozásnak hívják (In Circuit Programming).
(#) RoliNyh válasza teglascs hozzászólására (») Jan 8, 2016 / 1
 
Vagy rendelsz hozzá készen ebay-ről "fillérekért"...
(#) teglascs válasza RoliNyh hozzászólására (») Jan 8, 2016 /
 
Ó, tényleg. Találtam is, példaként 8 lábúakhoz:
egyik
másik
Klassz!
(#) Kovidivi válasza teglascs hozzászólására (») Jan 8, 2016 / 1
 
Mi értelme van egy SMD IC-t egy DIP panelre ráforrasztani? Hiszen ezzel pont azt az előnyét veszted el, hogy kicsi. Gondolom nem néztél utána, hogy mi az az ISP csatlakozó, mert akkor nem keresnél mindenféle plusz nyákokat.
Ha pedig tönkremegy az AVR, amire nagyon-nagyon pici esélyt látok, akkor kiforrasztod. Az atmega328 pl. nem okoz túl nagy gondot, sima 25W-os pákával leszedem a mini pro nyákokról.
A hozzászólás módosítva: Jan 8, 2016
(#) RoliNyh válasza teglascs hozzászólására (») Jan 8, 2016 / 1
 
Ebayen féláron 5 darabot küldenek...

Bővebben: Link

Foglalat

Foglalat működés közben

(Miért nem írja ki jól az első linket?)
A hozzászólás módosítva: Jan 8, 2016
(#) teglascs válasza Kovidivi hozzászólására (») Jan 8, 2016 /
 
Nem, nem néztem még utána, igazad van. Meglesem azt is.
Nem is építettem még semmit, programozni sem tudok, csak érdekel a dolog, olvasgatok, és ott akadtam el, hogy egy DIP tokozású AVR-t egy programozóba könnyedén bedugva csatlakoztatható, a program feltölthető, majd az AVR a saját készítésű nyákba forrasztva használatba vehető.(?)
Az SMD-nél nyilván nem forrasztjuk rá a programozóra, forrasztjuk le onnan, majd forrasztjuk rá a saját nyákunkra.
De értem, hogy van más megoldás is, utánanézek - köszi.
(#) teglascs válasza RoliNyh hozzászólására (») Jan 8, 2016 /
 
Köszi!
(#) Kovidivi válasza teglascs hozzászólására (») Jan 8, 2016 /
 
Összefoglalom: Van 6db tüske a nyákon, amire csak rádugsz egy csatlakozót, a csatlakozó pedig a programozóba fut be, és így programozol. Ha készen vagy, lehúzód a programozó kábelt, és kész. 6db tüskének kell a plusz hely.
(#) teglascs válasza Kovidivi hozzászólására (») Jan 8, 2016 /
 
Hát ez így tényleg sokkal praktikusabb, igazad van!
(#) morgo válasza RoliNyh hozzászólására (») Jan 8, 2016 / 3
 
Ezekkel az a baj, hogy csak 8 lábú smd-hez jók. A 28-as meg túl drága. Ezért én inkább maradok ennél:
A hozzászólás módosítva: Jan 8, 2016
(#) k3gy3tl3n válasza morgo hozzászólására (») Jan 8, 2016 /
 
WOW, tetszik!
(#) zombee válasza teglascs hozzászólására (») Jan 8, 2016 / 1
 
Én anno 32 lábú QFP AVR-eket programoztam egy ILYENNEL.
Nem olcsó, de ipari célra kifejezetten jó megoldás, főleg ha utána SMD-beültetőgéppel kerül az IC a végleges helyére.

Sajnos nincs képem róla, csak leírom mit használtam előtte: egy QFP-32 IC-t használó panelból építettem SMD programozót úgy, hogy az IC körül panelszéleket ragasztottam a panelra, hogy egy ATMega8 éppen beleférjen a négyzet alakú területre, és ne lötyögjön benne. Az aljára fúrtam egy kis lyukat, mert az IC néha beleragadt és nehéz volt "kiütni". A lyukon keresztül egy kis fogpiszkálóval egyből kijött. Később bekötöttem nagyfeszes programozót is, az 22 lábat(!!!) használ. Sajnos így már nem volt elég ujjal rányomni, egy kis présgéppel kellett az IC-t leszorítani. Na ezt váltotta fel a fenti cucc...
A hozzászólás módosítva: Jan 8, 2016
(#) attika válasza morgo hozzászólására (») Jan 8, 2016 /
 
Ezt miből csináltad?
Valahol már egyszer megtaláltam ezt,de fogalmam nincs,hogy hol.
(#) csatti2 válasza zombee hozzászólására (») Jan 9, 2016 / 1
 
Ez ok, de mi van ha már legyártottál pár száz nyákot és találsz egy programhibát? Ne adj isten később jön elő és az ügyfélnél kellene gyorsan firmware-t cserélni? Szerintem nem érdemes lespórolni a programozó csatit. Természetesen nem kell feltétlen tűs kivitelben gondolkodni, elég ha érintkező pontok vannak a nyákon (gyártáskor rugós tűs panellel utána gyorsan felprogramozható a nyák, illetve letesztelhető még, ami szükséges lehet további pontok beiktatásával).
(#) morgo válasza attika hozzászólására (») Jan 9, 2016 /
 
Szia!
Az oldalamon megtalálod:Bővebben: Link
(#) zombee válasza csatti2 hozzászólására (») Jan 9, 2016 / 1
 
A cucc a megrendelő "műve", nem az enyém. Gondolom már tesztelték párszor és működött, ezért is rendeltek mindig több ezres darabszámot. Egyébként egy távirányító volt, ami akkora volt mint egy evőkanál, és nem fért rá 6 programozópont. Ennek talán nem kell firmware csere...
A legtöbb cuccon azért volt érintkezőtűs megoldás, de a tüskesort nem kellett beültetni. Az égetéshez készítettem egy rugóstüskés adaptert amivel gyerekjáték volt a művelet...
(#) Kovidivi válasza zombee hozzászólására (») Jan 9, 2016 /
 
Szia. Szívesen megnézném ezt a távirányítót, ha publikus. Csak a nyákra gondoltam. Mit irányított?
(#) zombee válasza Kovidivi hozzászólására (») Jan 9, 2016 /
 
Sajnos nem publikus, de nem kell semmi "rosszra" gondolni. Egy kis 40MHz-es tekercsantenna,
DIP-kapcsolósor, kristályoszcillátor, és persze egy ATMega8 volt rajta. A kiadott jel 13 bites, azt ismétli. Garázskapukhoz és projektorokhoz használják őket.
A hozzászólás módosítva: Jan 9, 2016
(#) Kovidivi válasza zombee hozzászólására (») Jan 9, 2016 /
 
Megértem, semmi gond. A tekercsantennáról kérdezhetek? Valami rezgőkör, amit be/kikapcsolt az AVR? Vagy valami spéci IC hajtotta az antennát? A vevő oldalon meg csak ezt a 40MHz-es jelet kapta meg a kapcsolás, majd dekódolta, hogy mikor van, mikor nincs jel, vagy valami komplikáltabb? Érdekesen hangzik.
(#) zombee válasza Kovidivi hozzászólására (») Jan 9, 2016 /
 
Egy mezei ki/bekapcsolós fajta, természetesen. Konkrétan egy tranzisztoros kristályoszcillátor adja a 40.6MHz-et, ez megy a tekercsantennára. Az antenna tekercse és egy kis kondi LC-rezgőkört alkot. Erre jön egy kis SMD trimmerkondi, amivel rá lehet hangolni az antenna rezgőkörét az oszcillátorra. Ez spektrum analizátor nélkül lehetetlen vállalkozás, szerencsére kéznél volt egy.
A hozzászólás módosítva: Jan 9, 2016
(#) fecus hozzászólása Jan 11, 2016 /
 
Két kérdésem lenne:
1, Miért sír az Atmel Studio 7, hogy
  1. Severity        Code    Description     Project File    Line
  2. Warning         #warning "F_CPU not defined for <util/delay.h>" [-Wcpp] Thermostat      c:\program files\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h    90

Amikor a kód így kezdődik:
  1. /*
  2.  * Thermostat.c
  3.  * Created: 2016.01.09. 16:21:36
  4.  * Author : fecus
  5.  */
  6. #define F_CPU 1000000UL


2, Ti melyik LCD library-t használjátok?
Először Peter Fleury féle lcd.h-val kezdtem , de a negatív tizedes értéket nem tudtam kicsalni belőle.
Aztán ez okosabbnak tűnt, de ez meg nem működik.
(#) Hooligan01 válasza fecus hozzászólására (») Jan 11, 2016 /
 
Valószínűleg a #define F_CPU 1000000UL az #include <util/delay.h> után van, és nem előtte.

Próbáld így:
  1. #define F_CPU 1000000UL
  2. #include <util/delay.h>
(#) csabeszq válasza Hooligan01 hozzászólására (») Jan 12, 2016 /
 
Ahogy emlékszem az F_CPU-t nem így szokták C fájlban megadni.
Valahol a projektben állítod be az órát és ez automatikusan -DF_CPU=1000000 -ré konvertálódik.
A hozzászólás módosítva: Jan 12, 2016
(#) rolandgw válasza csabeszq hozzászólására (») Jan 12, 2016 /
 
Így is megadhatja,vagy a Toolchain/Symbols-nál F_CPU=1000000UL formában.
(#) fecus válasza Hooligan01 hozzászólására (») Jan 12, 2016 /
 
Hooligan01: Ez az első sor. Ennél előrébb nem lehet írni
rolandgw: Ez lett a megoldás. Köszönöm. Persze ettől még nem értem a másik miért nem működik?!

Az 16x2-es LCD meghajtására valami kipróbált library?
(#) killbill válasza fecus hozzászólására (») Jan 12, 2016 /
 
Mit nem ertesz? Nem az Atmel Studio sir, hanem a gcc, es azt mondja, hogy a delay.h forditasa kozben az F_CPU nincs definialva. Tehat elobb kell definialni, es csak aztan kovetkezhet a delay.h. Ezert kell az #include ele tenni. Ha az IDE magatol atadja a gcc-nek (C fordito) a
-DF_CPU=100000 parancssori opciot, akkor szinten jo lesz, mert mar a forrasszoveg (delay.h) olvasasa elott meg lesz definialva az F_CPU makro.
(#) fecus válasza killbill hozzászólására (») Jan 12, 2016 /
 
Mégegyszer: a
  1. #define F_CPU 1000000UL
a legelső sor. Nincs előtte semmi. Az
  1. #include <util/delay.h>
a 4 sor tehát utána található.
No, azt nem értem, hogy miért nem működött ezzel.
(#) killbill válasza fecus hozzászólására (») Jan 12, 2016 /
 
Bocsanat, mar latom, hogy ezt az eredeti postban is leirtad. De akkor mitol javult meg?
Következő: »»   714 / 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