Fórum témák
» Több friss téma |
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
Üdv!
Adott egy ilyen programozó: Atmel ICE avrdude-dal szeretném használni. Mit kell kiválasztani programozóként?
Linuxot használsz? Hogyhogy avrdude-al akarod használni?
Az AVR Studio kezeli, egyszerűbb, és gyári.
Windows. De a jövőben linux is.
Az elképzelés az, hogy egy programmal generálok egy hex-t, amit szeretnék automatizáltan rátölteni.
Magát az avrdude-ot tudom használni, más programozókkal működik. Az Atmel ICE esetében nem tudom, hogy mit kell kiválasztani.
Próbálkozni kell. (Meg kell tanulni tanulni.
![]() A leírásban egy részen azt választják, hogy jtag2, azért is küldtem el, próbáld ki. Írd be azt is, hogy avrdude --help vagy avrdude -help, így előjön a súgója, ott szerintem kiírja hogy milyen programozók vannak. De lehet hogy valamilyen paranccsal még ki is tudja listázni hogy milyen programozóvan a gépedre kötve.
Az előző oldalon morgo feltette pdf-ben a dude doksiját,csak bele kéne nézni,12.oldal: atmelice_isp,ha isp-t akarsz.
Sziasztok.
Tudom unjátok a kérdéseimet,de sajna csak itt tudom feltenni,reménykedve abban hogy megválaszoljátok ![]() Szóval, az lenne a kérdés,hogy az AVR-él melyik az a "parancs" amivel a 74595-ben tudom egyesével felkapcsolgatni a ledeket? A cikkben leírt példa programban a léptetés "cnt=cnt>>1;" De hogy lehetne fel kapcsolni egyesével és vissza le? Köszönöm előre is.
Próbáltam.
válasz: avrdude: Can't find programmer id "atmelice"
Win eszközkezelőben látod az ICE-t?
Igen. Atmel studio 6-tal tudom hasznalni.
A programozasban (C-rol beszelek) egyik fontos dolog amit megtanultam, hogy nem csak 1db megoldas van. Ugyanazt az eredmenyt tobb fele uton is el lehet erni. ...
Te most shiftelessel szeretnel ledeket kapcsolgatni... En elosszor ezeket hasznalnam:
Ha a 0x01 hexadecimalis (16os szamrendszer) erteket valtoztatod akkor annak megfeleloen kapcsolhatod be/ki a LEDeket. Akar egyszerre az osszeset, vagy szelektalva. Elnezest a rovidebb valaszert, de rohanok.
Köszönöm, megnézem.
Csináltam statikus könyvtárakat, amiket Atmel Studio 6 segítségével tök jól lehet használni. Viszont én ezek szeretném sima avr-gcc-vel is használni.
Nem jövök rá, hogy mit kellene a Makefile-ba írni, ahhoz, hogy megfelelően működjön. Eddig a WinAVR csomagban lévő MFile nevű programocskával generáltam makefile-t, plusz kézzel beleírtam a további c fájlokat. Tudtok ebben segíteni?
Szia!
Nem tudom mit értesz "100%"-os pontosság alatt. Mert ha nagyon pontosan akarsz mérni, akkor a uP nem csinálhat mást, még üzenetet sem küldhet. Akkor meg miért is? ![]() Javaslom, hogy Int0 vagy ehhez hasonló fontosságú lábra kösd a RC vevőtől érkező jelet. (fesz. szintre figyelni!) Az Intx úgy legyen beállítva, hogy szintváltásra működjön. Ha az Intx kiszolgáló futáskor H szintet mutat az Intx PIN, akkor LH él volt. Ekkor pl. nullázd a timered. Ha a kiszolgáló L szintet kapott, akkor HL él volt és a timert kiolvasva megkapod az impulzus szélességét abban az időalapban, amiben fut a timer (osc/n). Ez általános és feltételezi, hogy van szabad timered. De ha nincs ilyen, akkor a start-stop változókat használva is megmérheted az időt. Ha 16 bites mérést akarsz (a nagyobb pontosság kedvéért), akkor a timer.ovf megszakítást tudod használni a felső számláló növeléséhez. Ezzel már elég pontosan meg tudod mérni szerintem, még ha nem is 100%-os. De max 3msec mérését 16 bitnél jobban közelíteni nem hiszem, hogy kellene. ( Ráadásul RF átvitel is van benne, annak minden zajával.)
Sziasztok.
Látom nagyon leült a topik. Na szóval Nem nagyon jutottam előrébb a shift regiszteres dologgal ![]() Így aztán marad a közönség segítség kérése ![]() Sick-Bastard ugyan megpróbált segíteni,de sajna ez számomra kevés,a tudás hiánya miatt ![]() Tehát száz szónak is egy a vége. Egy példa program kellene ami bemutatja hogy kell leprogramozni a 74595-ön a ledek sorban való felkapcsolását. Előre is köszönöm.
Ha Bascomban is jó, íme:
SPI-n decimális számként kell küldeni a 74595-nek ami kettes számrendszernek megfelelően megjeleníti a lábakon. Pl. ha az 5. lábat akarjuk bekapcsolni, 16 -ot küldünk, stb.
A hozzászólás módosítva: Szept 23, 2015
Szia. Igen ezt a cikket elolvastam,de sajna ez csak lépteti egyesével,miközben a mögötte lévőt lekapcsolja.
Nekem olyan minta kellene,hogy ne kapcsolja le a mögötte lévőket.
Köszönöm szépen,de a bascom nem játszik. Mert az a program nincs meg nekem ,és azt sem tudom hogy az STK500-at támogatja-e?
![]()
Bocsi a kérdés miatt, de visszaolvasva az eddigieket, mi az amit tudsz???
![]() Estére, ha lesz időm, küldök egy asm megoldást, de 4014-re (mert én azt szoktam használni). Megnézem majd a különbséget a két ic között. A megoldásban tetszőleges adatértéket tudsz kiírni sorosan.
Kiküldöd ezt: 0b00000001, vársz kicsit. Majd ezt: 0b00000011, aztán 0b00000111, és így tovább.
Szia!
Még annyit hozzátennék hogy hardcore AVR-ezők (mint pl. én) a "háttérben" futtatják a shift regiszteres meg egyéb portbővítős műveleteket. Ehhez kell egyrészt egy időzítő megszakítása, ami 1-20ms időközönként fut le, alkalmazástól függően. Az időzítő megszakításban elindul az adatátvitel, fajtától függően(pl. 74xx595 esetén SPI). Ez még csak az első bájtról szól, ezért engedélyezni kell az SPI megszakítását is (megszakításon belül nem menő várakoztatni). Az SPI megszakításban egy számláló értékét növeljük, és az átvinni kívánt bájtok függvényében vagy elindítunk még egy átvitelt, vagy az 595(-ök) ST_CP lábán aktiváljuk a kimeneti latch-be írást. Utóbbival párhizamosan lehet tiltani az SPI megszakítást, de nem muszáj mert új átvitelt úgysem indítasz el...
Köszönöm,de maradjunk abban hogy ebből egy szót nem értettem
![]() Szerintem az lesz a legegyszerűbb ha veszek egy atmeg8-at és a shift regisztert kihagyom ![]() Így tovább tudom bővíteni a ledek számát. Már csak olyan kérdésem volna,hogy a hozzászólásban megadott rajzhoz npn,vagy pnp tranzisztor kell a ledek elé ha 12 volttal szeretném hajtani.
Szerintem ugorj rá páros lábbal
![]()
Arra gondoltál már, hogy egyszerre csak egy szakmát akarj megtanulni? Mert sem az elektronikához nem értesz sem a programozáshoz. Külön-külön egyszerübb nekifutni.
Jogos
![]() További szép napot nektek.
Itt jártál már? Bővebben: Link
|
Bejelentkezés
Hirdetés |