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   806 / 806
(#) Massawa válasza Massawa hozzászólására (») Jún 17, 2019 1 /
 
Söt van 24 bites expander si TCA6424, sajnos kész modul nincs, pedig jol jönne.
(#) wbt válasza Kovidivi hozzászólására (») Jún 18, 2019 /
 
Köszönöm, hogy helyettem ékesen megfogalmaztad, már kétségbe estem
Talán annyi helyesbítés, hogy amit beküldesz egy LEDnek, azt benyeli, a többit küldi tovább)
(#) mr.Cara hozzászólása Júl 17, 2019 /
 
Üdvözlet mindenkinek !
Van két léptető motorom : egy NEMA17 és egy NEMA23-as . egy tekercselőt szeretnék velük hajtatni. A17-es a huzalvezérlőt a 23-as az orsózót hajtaná. A léptetőkhöz TB6600 meghajtó van kéznél .Egy szokásos 4 soros LCD lenne a visszajelzéshez. ATMega328 dolgoztatná a gépet.
Tudja egy mega328-as egyszerre a vezérlőket irányítani (lassan indítani/megállítani) + a számlálást elvégezni + a huzalátmérőből a huzalvezetőt megfelelő sebességgel mozgatni ?
Köszi a segítséget !
(#) wbt válasza mr.Cara hozzászólására (») Júl 17, 2019 /
 
Sebesség kérdése az egész. Minden esetre a stepperek vezérlése megszakításból menjen, a kijelző meg főprogramból, így biztosított a stabil forgás.
(#) szabi95 hozzászólása Júl 17, 2019 /
 
Üdv!
Először használok Atmega 328P uc-t és olyan gondom akadt, hogy akármilyen órajelet állítok be, mindig nagyon lassan fut rajta minden. Például egy 60ms-es delay kb 1 másodpercig tart. 16MHz -es kristállyal szeretném használni, a fuse biteket erre állítottam: L Fuse 77; H Fuse DF; E Fuse FF. Mi lehet a gond?
(#) Kovidivi válasza szabi95 hozzászólására (») Júl 17, 2019 /
 
8-as osztót kapcsold ki, DIV8.
(#) szabi95 válasza Kovidivi hozzászólására (») Júl 17, 2019 /
 
Volt pár olyan próbálkozás is, de semmi hatása nem volt.
(#) Kovidivi válasza szabi95 hozzászólására (») Júl 17, 2019 /
 
Én nem próbálkoznék a helyedben, hanem kiolvasnám a FUSE BIT-eket, és "kikódolnám" az adatlapban található leírás alapján. És akkor ki fog derülni, hogy mi a hiba. De mondok egyszerűbbet is: keress egy FUSE BIT calculatort, és írd be az értéket, az mindent elmond.
(#) szabi95 válasza Kovidivi hozzászólására (») Júl 17, 2019 /
 
Kiolvastattam a burn-o mattal, és meg is lepődtem. Teljesen más érték volt benne. Úgy tűnik ha megváltoztatom a beállításokat, de külön nem megyek rá a fuse bitek beírására akkor nem csinálja meg. Érdekes, máskor mindig megcsinálja. Köszönöm! (arra nem gyanakodtam hogy esetleg nem írja bele. A fuse calculatort is nézegettem, az alapján is próbáltam pár beállítást)
(#) fifadani hozzászólása Júl 26, 2019 /
 
Sziasztok!

Szeretném Tőletek megkérdezni, hogy van-e valakinek egy egyszerű könyvtára az nrf24L01-hez, c nyelven?

Köszönöm szépen!
(#) Ivan93 válasza fifadani hozzászólására (») Júl 27, 2019 / 1
 
Szia!
Nem éppen könyvtár, inkább csak függvények, ezt én készítettem régebben.
ATmega328-ra írtam. Kitöröltem felesleges dolgokat, így lehet hogy Neked elsőre nem fordul majd le az egész példa, de a függvényekhez nem nyúltam. A program várja a beérkező adatot, majd visszaküldi.
(#) fifadani hozzászólása Júl 29, 2019 /
 
Köszi! Kipróbálom, amint lehet.
(#) glaci hozzászólása Hé, 9:06 /
 
Sziasztok!
Korábban, májusban, már kérdeztem erre vonatkozólag, de kielégítő és továbblendítő választ nem kaptam. Most újra felteszem a kérdést:
Idáig piceket programoztam, amikkel nem volt sok gond. A programot megírtam c-ben, lefordítottam, kaptam egy .hex fájlt elővettem a pickit2, általam épített klont, majd néhány kattintás után már bent is volt a program a picben.
Aztán ráleltem bontásból több 10 db AT89C2051, AT89S5224 valamint ATMEL3216PU processzorokra és szeretnék velük valamit kezdeni, de olyan sok negatív infót találtam a neten az atmel processzorok programozásáról, hogy félve nyúlok hozzá.
Azt kérdezném,hogy ha mikkroc fejlesztővel irok programot ami a fordítás után egy .hex fájlt ad, milyen programmal és eszközzel tudom a processzorba bejuttatni? Ha szükséges, csinálnék hozzá eszközt is. Van zomboee által közzétett stk500 programozóm. Ez elég vagy más kell? Örömmel vennék minden segítőkész hozzászólást!
A hozzászólás módosítva: Hé, 9:09
(#) TavIR-AVR válasza glaci hozzászólására (») Hé, 9:46 /
 
A 89C2051 illetve a 89S52 belül egy 8051-es chipet tartalmaz. A programozása nem lehetséges a STK500-zal (jellemzően nem ISP/SPI-n át programozódnak). Én nem biztos hogy bajlódnék belül: kicsi memória, korlátozott tudás.

A Mega32-16PI egy ATEMega32 - na ezzel lehet mit kezdeni és a STK500 is programozza...
(#) glaci válasza TavIR-AVR hozzászólására (») Hé, 10:24 /
 
Köszi a választ!
Igen valóban kicsi a memória, de a pic16f628-nak is kicsi, mégis használjuk, ha nem robosztus programot akarunk írni, haem csak egy hőmérőt, vagy kijelzőmeghajtást, stb.
Ennek ellenére, ha tudnál segíteni, hogy milyen programmal és milyen programozóval lehetne őket életre kelteni én szívesen "bajlódnék" velük egy keveset.
(#) aviator17 válasza glaci hozzászólására (») Sze, 13:36 /
 
Sziasztok!

ATMEGA128 PWM-et próbálom működésre bírni Timer3-al. Ha jól értelmezem az adatlapot, nekem úgy tűnik mintha ellentmondás lenne benne, erre szeretnék rákérdezni.

Azt mondja az adatlap, az OCR regiszterrel hasonlítja össze a TCNT0-t a rendszer miközben felfelé számol és ha eléri a TCNT0 az OCR-ben tárolt értéket akkor az OC láb állapotot vált függően attól, hogy a COM bitek hogyan állnak (invertált, vagy nem invertált a PWM)

A WGM bitek állásától függően meg lehet adni azt is hogy honnan vegye a TOP értéket a rendszer, ahol nullázza a TCNT0-t, itt van egy olyan lehetőség hogy az OCR legyen a TOP. Ebben az esetben viszont soha nem fog tudni állapotot váltani az OC, mert az OCR az állapotváltási és a nullázási pont is egyben, tehát ez így nem tud működni.

Jól látom a helyzetet?
(#) csatti2 válasza aviator17 hozzászólására (») Sze, 14:21 /
 
Nem. A WGM bitekkel a timer módját állítod be. A CTC mód (amire te gondolsz) az nem PWM generációra való, hanem amikor sima időzítőre van szükséged vagy adott időhosszúságú négyszögjelet szeretnél generálni. Természetesen lehet vele PWM szerű jelet is generálni de a valóságban nem PWM ilyenkor a kimenet (nem a kitöltési tényezőt állítod be, hanem az impulzusok hosszát, illetve követési idejét).
Az adatlapban megtalálhatod a különböző módokhoz tartozó idődiagramokat, szerintem az érthetővé teszi majd a működését és a különböző módok közötti eltéréseket.
Következő: »»   806 / 806
Bejelentkezés

Belépés

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