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
Most eszembe jutott egy másik ötlet, 4 output portot használok a h bridge-ra ami vezérli, és egy MOSFET kapcsolna külön az előálitott PWM-et a h-bridge pluszjára.
írtam egy új programot, csak nem tudom hogy helyes-e amit írtam?
Lényegében megnézi nyomtam e valamilyen gombot ha igen akkor annak megfelelően növel vagy csökkenti a PWM kitöltési tényezőt. Azután lekeresi hogy a szenzor mit érzékelt, a szerint kapcsolja a H-hidat, hogy merrre menjen. Az előzőhöz képest itt a kapcsolók a PB0,PB1 en vannak, a H hídhoz PB2,PB5,PB6,PB7 tartozik, PB3,PB4 a PWM előállításhoz van lefoglalva.
Ez most kérdés volt vagy válasz? Kérlek ne blogolj, ha van valami ötleted próbáld ki, ha nem megy akkor KÉRDEZZ! De ne várd hogy minden szösszenetre valaki felhördül hogy "de hát ez így nem jó!", ha meg alapból nem várod hogy válaszoljanak akkor BLOGOLSZ!
Mi lenne ha a nyomógombot megszakításokkal kezelnéd? Annak hatására növelnéd/csökkentenéd a duty változód értékét. Ezáltal kevesebb dolga lenne a procinak.
A hozzászólás módosítva: Júl 20, 2013
Én inkább PC programozáshoz értek, olyat tanultam eddig csak a suliban, kezdő vagyok az AVR programozásban, s nem vagyok biztos, hogy a registereket jól állítom be, illetve az itt lévő speciális utasításokat jól használom-e ami számomra idegen még?
Igen halottam már IRQ ról számítógépeknél, csak nem gondoltam, hogy AVR-nél is van ilyesmi, gondolom valami registert kell piszkálni, hogy használjam?
Nem annyira bonyolult a dolog. Adottak bizonyos megszakítási vektorok (interrupt vectors). Ebből van több fajta, adatlapban találsz adatokat róla. Itt egy tutorial róla, de itt a HE-n is találsz rengeteg segítséget. A megszakításban célszerű csak rövid és gyors műveleteket végrehajtani, mert nagyon időkritikus. Amíg a proci azt hajtsa végre, addig a main áll, majd folytatódik onnan ahol abbahagyta.
Az okosabb kolegák majd jobban elmagyarázzák esetleg. A hozzászólás módosítva: Júl 20, 2013
Köszönöm szépen, ám a többi része a kódnak helyes?
Idézet: „Igen halottam már IRQ ról számítógépeknél, csak nem gondoltam, hogy AVR-nél is van ilyesmi, gondolom valami registert kell piszkálni, hogy használjam?” Én külső megszakításokat használtam a robotomnál: Will-i 3
OK, megoldom, de a többi része jó a kódnak??
Sziasztok!
Attiny2313-al szeretnék egy frekvenciamérést készíteni majd egy majdani motorgyújtáshoz. Első körben csak a frekvenciamérés a fontos. Összeraktam próbapanelon egy astabil multivibrátort 555 IC-vel. Azt szeretném elérni, hogy ha a frekvencia nagyobb, mint 1 kHz, akkor egy Led villanjon fel, majd ha a frekvencia 1 kHz alá esik, akkor aludjon ki. Írtam egy kódot egy kis segítséggel, de sajnos sehogy sem tudom működésre bírni. Tudnátok segíteni, hogy mi lehet benne a hiba?
Sziasztok,
adott a következő kódrészlet
x másodpercenként léptetem először lefele 159-tol 64-ig a freq változó értékét, majd visszafele 64-től 159-ig. Hogyan lehetne megcsinálni hogy ha eléri a szélső értékeket akkor 2x egymás után ne ugyanaz az érték kerüljön a freq változóba? :/ Most így néz ki de sehogy se tudok rájönni hogyan kéne ezt kiküszöbölni. 159 154 .... 69 64 64 69 .... 154 159 159 .... A hozzászólás módosítva: Júl 21, 2013
Így?
Hello!
Nem néztem meg a kódot, de egyvalamire ügyelj: ilyen "kis" frekik mellett nem érdemes az impulzusok számát mérni, mert nagyon rossz lesz a felbontás és ugrálni fog. Helyette az egyes gyűjtások között eltelt időt kell mérni, akár úgy is hogy több esemény időjét leátlagolod.
Miután elküldtem a posztot rájöttem én is De köszi.
A hozzászólás módosítva: Júl 21, 2013
Sziasztok! Ez a kapcsolás működhet programozóként? Attiny2313 -at akarok programozni? Bővebben: Link Milyen programot használjak ami rálöki a programkódot?
A hozzászólás módosítva: Júl 22, 2013
Ki kell probalni, nem nagy munka. Vagy probald ki az alabbit, az nekem mukodik. Program: Avrdude stk-200 konfiggal (a masodik eseteben biztosan, az elso eseteben talan.)
A hozzászólás módosítva: Júl 22, 2013
PonyProg viszi, és elvileg Bascom is. Ne feledd az AVR-t megtáplálni(5V)!
Ezt építettem meg majd kipróbálom, most a mechanikán kinlódok, az áttételen.
Sziasztok!
TC1047-el szeretnék hőmérsékletet mérni, -40-től +125-ig mér, 10mV/C, ehez kéne nekem valami függvény ami kiszámolja a hőmérsékletet az ADC értékéből ami max 255.
Üdv.!
Atmel Studio 6-ban véletlenül eltalálhattam valami billentyűkombinációt, és olyan lett a szerkesztő felület, mint ahogy a mellékelt képen látszik. Tabulátorjelek, meg a szóközöket jelölő pontok jelennek meg, és ez eléggé zavaró. Tudja esetleg valaki, hogy hol lehet ezt kikapcsolni? Végignéztem a beállításokat, de nem jutottam semmire, mert nem tudom, hogy egyáltalán mit keressek. Köszönöm!
Azt hiszem egy: ¶ ilyen jelű ikonra kattintva eltűnik, Microsoft Wordba legalábbis úgy lehet kikapcsolni.
Sajnos nem találok olyat, pedig van egynéhány kicsi ikon. Abban sem vagyok biztos, hogy ugyanolyan jele lenne, mint a Wordben. Csak annyi biztos, hogy billentyűkombinációval sikerült bekapcsolni...
CTRL+R, vagy CTRL+W Bővebben: Link
Nagyon köszönöm! Eszembe se jutott, hogy ott kellene keresni. Majd legközelebb.
Egyébként - mint kiderült - nem CTRL+R vagy CTRL+W, hanem CTRL+R és CTRL+W, ugyanis egymás után kellett a kettő. (ezek után fogalmam sincs, hogy sikerült véletlenül lenyomni egymás után ezeket)
Sziasztok! PC-ről küldök számokat az avrbe ami ott karakter (char) tömbbe megy azt szeretném számmá (int) átkonvertálni.Segítséget előre is köszönöm.
A robotom átesett 1-2 változtatáson, a Flow teszten már átesett, nem füstölt semmi
Holnap feltöltöm a programot s megnézem hogy működik-e? Belekerült a megszakitáskérelem is
Sziasztok. Vettem egy kis usb égetöt ami atmega8 épül és isp keresztül tudok programozni. Szoval az lenne a kérdésem hogy ezt hogy tudom felismertetni valamelyik programmal ?
Sziasztok!
Mekkora lehet egy AVR (pl mega8) egy bemenetének mintavételi frekvenciája? Gondolok itt arra hogy egy I/O portot bemenetnek állítok és írok egy ilyen progit, amivel egy digitális jel pozitív félperiódusát akarom megmérni. while(vár pozitív élre); tcnt nulláz; while(vár negatív élre); változó = tcnt érték; a változóban benne van a jel pozitív ideje. Szerintetek így mi az a legkisebb idő amit meg lehet mérni? (a legkisebb idő amit mérni kellene az kb 1ms) Üdv: Suncorgo
USBASP-t vettél.
Dobd ki típus.... Az AVRégetők fórumban volt kb. 1 hónapja eszmefuttatás róla, hogy miért.... |
Bejelentkezés
Hirdetés |