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
Eléggé belekeveredtél ebbe a három byte-ba címzésügyilegCsak jelzem,hogy az std/ldd nem direkt címzés,mint ahogy kommentelve van,az az sts/lds.
Most csinálok én is ilyet elöször, de ezt irja a nagykönyv:
ldi r28,$63 ; Set Y low byte to $63 std Y+2,r4 ; Store r4 in data space loc. $64 (itt nem vagyok biztos, hogy miért éppen $64-et írnak) Azaz esetemben azzal számolok, hogy az Y a következö cimekre rakja majd el az eredmény $243,$244,$245. (azaz az Y-ba eredetileg $243 van beirva, és itt kellene lennie a 3 bytenak.) Azaz a std y+2,ml ; a $245 memoria helyre beirja az ml értékét. Az LDD-re ilyesmi van a könyvben: (iiii)* Rd <- (Y+q) Y: Unchanged, q: Displacement ldd r4,Y+2 ; Load r4 with data space loc. $64 azaz ldd mt,y+1 ; beirja az mt registerbe a $244 cimen levö értéket. Lehet, hogy a kommentek nem pontosak.
Most már csak az osztással ill a 24 bites wordok kezelésével vagyok bajban.
Az szorzás eredmény már ott van a helyén: $240,$241 és a $242 cimeken van az eredmény: pl. 00 0F A0 Ezt a számot kellene osztani egy bytes változoval. Pl. Ldi a,$64 Azaz ezt kellene betölteni valahova majd kivonni belöle az A regiszter tartalmát. Ahányszor sikerül annyi az eredmény. 2 bytes worddel remekül megy csak nem tudom hogyan kéne ezt átváltoztatni 3 byte-sra ( a osztandot meg az eredményt). Kösz minden ötletet.
Kösz.
Már én is találtam hasonlot, de még értlemezni (tanulni) kell egy kicsit.....
Binarisan osztani nem eppen ez a legjobb modszer. Egy 3 byteos szamot ezzel a modszerrel osztani igen sokaig eltarthat. Legrosszabb esetben 16 millio kivonas. A binaris osztasban sincs mas, mint kivonas, shifteles. 24 bites osztandonal 24..25 ciklus. Megsem 16 millio. Persze bonyolultabb, mint csak kivonni, de nem tart masodpercekig. Eleg sok anyag van magyarul is, angolul is a neten errol.
Kösz már kezd összeállni a kép és rövidülni a kod.
A kod már megvan, a változok is el lettek rendezve, este kiprobálom.
Megy az osztóm, kösz mindenkinek a segitséget!
Üdv mindenkinek! Sikerült beszerzenem egy USBASP programozót (kicsi, kék paneles), viszont nem sikerül sehogyse felprogramozni az AVR-t. Extreme Burner-t használok égető programként, az azt írta, hogy nem tudod kommunikálni a céláramkörrel, megpróbáltam AVR Dude-al, az néha ki tudott olvasni Device Signature-t, de ugyanúgy sikertelen a programozás. Az AVR gyári, semmi fuse bit állítgatás nem volt, más AVR-el is ugyanezt csinálja. ATMega8-at szeretnék vele programozni. A programozót 32 bites Win7 alatt használom, de meg fogom próbálni Linux alatt is, mert lehet hogy valami driver hiba okozza. Semmi ötletem nincs mit tegyek vele. Másnak voltak ilyen problémái ezzel a programozóval? Segítségeteket előre is köszönöm.
Nem láttam még ilyet, de a Google ezt az oldalt dobta ki: http://www.fischl.de/usbasp/. Van némi útmutató (Readme.txt), és driver is.
Nincs valakinek kéznél egy egyszerü 3 bytes decrement rutinja (IRQ cyclusba kellene).
Kösz, egyet már irtam, de még nem probáltam, majd talán az este.
Ezzel a programozóval csak problémáim voltak.
Olcsó, kicsi, kaki. Kuka. M8 tápfeszt kap? Vcc/VccA és GND/GNDA is? 100nF ott van tápszűrésen? Resetlábon mi van? (10k/100n? Hogyan?)
Sziasztok!
Egy kis segítséget kérnék, vettem egy ilyen lcd panelt: arduinohozLCD Szeretném beépíteni egy dobozba, de ha kivágom neki az lcd helyét, és bele illesztem, maga a micro nyomógomb, még sokkal mélyebben "ül" így nem lehet megnyomni. Létezik hozzá valamilyen toldó szár vagy kupak, amivel annyira megtoldható, hogy kiérjen az előlapra? A sima nyomógomb sapka, amit lehet venni túl nagy, nem fér el egymás mellet :\
Szia
Nekem is ilyen van, nekem gyárilag csak ezzel működött: Bővebben: Link Viszont ezzel hibátlanul! Nagyon sokat is tud a program. Később lecseréltem a programját a hivatalosra: Bővebben: Link Ha jól emlékszem, a hivatalos programban át kell írni a D- lábat mert a kínai változaton máshol van, illetve az állapot jelző led is más lábra van kötve (ez akár el is hagyható) Ha ezek megvannak tökéletesen működik bármilyen programmal. A hozzászólás módosítva: Júl 18, 2014
Vékony szivoszálat vagy nyalokanyelét szépen rá lehet huzni, és az olyan hosszu lehet amennyi kell.
Sziasztok,
van remény az AVR Doper programozót WIN8 64bit alatt elindítani? (A HE Store-osat. Köszi
A remény hal meg utoljára....
- aláírásellenőrzés kikapcsol - driver fel - fekete kakas éjfélkor....
az egyik drivert még így sem engedte, csak a COM4-et.
Viszont azt nem értem, hogy kikapcsolt driver ellenőrzés ellenére se rakta fel. 'aszonta amár csak azért se... AVR studio nem látja.. A hozzászólás módosítva: Júl 19, 2014
Nekem csak akkor ment, ha előtte teszt üzemmódba állítottam a Windowst. Utána lőttem ki a driver aláírás ellenőrzést, és akkor fel tudtam tenni. Win8-nál utána jó volt (de a teszt módot hagyd bekapcsolva), Win8.1 alatt minden gépújraindítás után újra fel kellett erőltetni a drivert.
Sziasztok keltetögépet épitek hütöszekrényböl a forgató motort 12V 5A kapcsoloüzemü LED trafó hajtja meg eröl a táprol szeretném a gép vezérlését is meghajtani ami egy arduino uno. Programozás ideje alat usb-röl miután a kimenetre a relék is rákerültek dugasztáprol hajtotam az unot tökéletesen müködik de most hogy már kész a programozás és az egész vezérlés levan tetsztelve gondoltam bekötöm ahogy terveztem a kapcsolóüzemű tápra meg is tettem de folyamatosan újraindul és újra indul az uno mi lehet az oka ennek? a vin lába az unonak az ugye kaphat 12V az a regulátor ic bemenete igaz? segitségeteket elöre is köszönöm!
Valószínűleg nagyon sok a zavar a tápon, tegyél rá egy zavarszűrő kondít, hátha segít.
A VIN láb megegyezik a fesz. szabályzó IC lábával, látszik a kapcs rajzon: Uno R3
Valoszinu a motor
- megrantja a tapot, leven a kapcsolouzemu tapok nem szeretik a rangatasokat. - PWM-l hajtod a motort, akkor lehet hogy felharmonikusokba futsz bele. A LED-meghajto az nem konstans aramu? Ha konstans feszultsegu, akkor sem jo, mert a LED az szinte konstans áramú, A Motor meg nem. Hát itt a trafóban van hiba. Tipp: A motor kapcsaira forraszz fel 100nF/50V kondit. Ez zavarszűrésnek jó.
Vigyázz azokra a kapcsolo üzemü tápokra, lehet, hogy azok kimenete egy PWM jel, ami magátol igazodik a LEDek fogyasztásához. Hasonlok voltak a 12V-s halogénlámpákhoz is - de ott volt közöttük váltoáramu is!
Én is egyszer megjártam amikor autorádiot akartam ilyenröl müködtetni. A vicc, hogy nem szereti a kapacitiv terhelést - azaz a szürökondit! A hozzászólás módosítva: Júl 21, 2014
Sziasztok!
A napokban probaltam felprogramozni egy AVR-t, de sikertelenul. Miutan leelenoriztem az osszes vezeteket es mindegyik ep volt keztem gyanakodni, hogy mashol van a hiba. Az SPI vonalon meg volt egy masik IC, amely "bezavarta" a programozot. Mivel az AVR uj volt, a masik IC CS laba nem volt magas szitre huzva (aktiv allapotba volt). Erre van valamilyen megoldas, vagy kotelezoen az SPI eszkozoknek kell tenni kulso felhuzo ellenallast a kivalaszto labara?
Tessék áramkörileg elválasztani.
- kapcsolható buszmeghajtó, - második AVR resetben (ált. kevés), - soros ellenállás: gyenge/erős jel alapú.
Üdv! Egy nixie csöves órát csinálok ATmega8-as AVR-rel de elrontottam a fuse bitekknél a frekvenciát. Már megépítettem a segéd órajelet 4 Mhz es kvatzzal de még mindig panaszkodik az avr studio az isp mode errorral. Mi lehet a baja?
Mást is elállítottál...
FuseBitDoctor javasolt...
Sziasztok!
AVR-rel szeretnék vezérelni egy I2C interfésszel rendelkező TEA5767 FM vevő IC-t. A hely szűke miatt csak is méretű AVR jöhet szóba. Attiny 85-höz hozzá tudok jutni, így vele oldanám meg a feladatot. Az lenne a kérdésem, hogy az TWI/I2C működéséhez feltétlenül szükséges a kvarc, vagy megteszi a belső RC oszcillátor is? Ha kvarcot használnék csak egyetlen láb maradna egy nyomogomb számára, ami éppen elég lenne, de ha plusz funkciókkal akarnám bővíteni, már kevés volna. |
Bejelentkezés
Hirdetés |