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
Szerintem tulvarialod. Nem kell itt a relativ cimekkel vacakoldnod. Ird igy:
Ha igy csinalod, akkor a .bootintvect a .text utan fog kovetkezni es a .balign utan megadott cimtol. Kivetel akkor, ha tul nagy a progi, mert akkor a 0x21F00 duplajahoz igazitja (ugyanis a .balign-nak megadott ertekkel lesz oszthato az utana kovetkezo szakasz kezdocime. Az .org pedig nem memoria abszolut cimre igazit, hanem az aktualis section elejehez kepest, igy nem csoda, hogy nem sikerult es ezert kell a kodban a .section-nel ujat definialni. Viszont a linkerscriptbe nem szabad ezt a sectiont letrehozni es akkor igy automatikusan a .text-hez fog tartozni, mivel meg lett neki adva, hogy futtathato("ax"). A hozzászólás módosítva: Jan 26, 2013
A teljes text szekció 0x20000-re van illesztve (-Wl,--section-start=.text=0x20000).
Így ehhez képest az ugrótábla helyes címe: 0x1F00. Ha ezt adom meg az balign-nak, akkor hibát dob, hogy az érték nem 2 hatványa. Ha kiveszem balignot és az első jmp elé .org 0x1F00-át írok, akkor nem fordítja bele a kódba a táblát, gondolom azért, mert nincs rá hivatkozás, így kioptimalizálja. Ha beállítom, hogy a használatlan szekciókat a gc ne dobja ki, akkor: "region text overflowed by 4780 bytes" hibát dob.
Sziasztok!
Nokia 5110 lcd-t akarok használni. Ez ugyanolyan módon működik, mint a 3310-es. Össze is raktam, viszont nem megy. Halványan látok valami villogást, de semmi más. Ez alapján csináltam, egyenlőre csak pár betű kiírással próbálkoznék. Bővebben: Link Valaki találkozott már ilyen problémával?
Valoban, elfelejtettem, hogy balign csak 2 hatvanya lehet...
Holnap(ma) meg gondolkodok rajta. En hivatkozok ra, igy ezert nem optimalizalja ki nekem, de nalad tudom, hogy enelkul kene.
3310-es kijelzőt is kipróbáltam, semmi eredmény. Ugyanúgy egy pixelt sem sikerült életre kelteni.
Hardver SPI-t használsz? /SS láb kimenetre van állítva?
Igen hardverest használok és a komplett B port kimenetre van állítva.
akkor nincs senkinek otlete az ermes idozitore valami program szeruseg kene
Egy elektronikai kérdésem lenne: vagy 30 output portot szeretnék vezérelni a lehető legolcsóbban. Itt egy 3 Ft-os ellenállásra és 8 Ft-os NPN tranzisztorra gondolok.
A probléma az, hogy ha véletlen az NPN tranzisztorok valamelyikét rövidrezárom, akkor a tranzisztornak lőttek, kiég, páka, forrasztás,... Nem az ára a drága, hanem a macera a javítással. A megoldás igazából a kimeneti 12V-os feszültség korlátozása lenne 800mA-ra, mert annyit a tranzisztor is elbír hivatalosan. Nézegettem kapcsolásokat, de az áramkorláttal az a bajom, hogy rövidzár esetén folyamatosan 800mA-t eszik, ami nem kifejezetten kívánatos (hősugárzó, a rövidzár energiáját a kapcsoló tranzisztornak egymagának kell elégetnie, ami barátok között is 10W). Jobb lenne lekapcsolni mindent, hogy ha rövidzár van, akkor game over. Hogyan szoktátok megoldani? A hozzászólás módosítva: Jan 28, 2013
Programot szerintem egyszerű megírni, még nekem is sikerülne.
Bascom-ra egy példa, a teljesség igénye nélkül.
Nem egészen értettük a problémát. Csináld meg egy nyomógombbal, ha jól megy a program, akkor cseréld le a gombot érmeérzékelőre.
Multifuse vagy polifuse a kulccszó.
kb. regenerálódó biztosíték. Én is ezt használom pl. az arduino UNO / Diecimila USB betáp védelmére.
Köszi,
van egy trafóm, ami rövidzárlat esetén 3A-t ad le, többet nem. A multifuse-ból 750 mA-est vennék. A kérdés az, hogy ha van egy BC-338-as (0.8A), azt valóban megvédi-e a multifuse. Nincs ebben az eszközben tapasztalatom, mármint, hogy a multifuse előbb fog-e lekapcsolni, mint ahogy a tranzisztor kiég.
Az ilyen típusú biztosíték rövid-zár elleni védelemre ebben az esetben véleményem szerint nem jó.Működése hőmérséklet emelkedésre (terhelésre )lép életbe,így rövid-zár esetén mire lecsökkenne az áram (mert az ellenállás növekedése miatt meg nem szűnik)addigra a félvezető rég halott főleg ha nagy kapacitású puffert használsz.Egyébként a 750mA-nek 1.3-1.5A a lekapcsolási határa.
Szerintem nem.
Én ennyire nem centiznám ki a dolgokat. 800 mA kimenőáramra 2A-es tranzisztor és így a multifuse...
Elektronikus biztosíték jó megoldás lehet itt:Bővebben: Link
Mindenképpen átnézem a kapcsolást és megpróbálom megérteni.
Egy 4A-s BD679-es darlington NPN tranzisztor 56 Ft, miközben a 0,8A-es 8 Ft. Ha 30 tranzisztorral számolunk, akkor már több, mint 1500 Ft a különbség (+80Ft multifuse), amiből lehet, hogy kijönne egy rendesen átgondolt rövidzárvédelem.
Jól értem? Minden tranzisztort külön akarsz védeni(kimenetet).Ha mutatnál egy kapcsolási rajzot az elképzelésről úgy érthetőbb lenne a gondod .
A hozzászólás módosítva: Jan 29, 2013
Nem érted jól. Ha a +12V-ot védem, azzal minden mást is védek.
A rajz, amit küldtél jónak látszik, csak átalakítom 750mA-ra. A hozzászólás módosítva: Jan 29, 2013
Kedves avr programozásban rutinos fórumozok.
Lenne egy kérdésem: az lehetséges hogy ha avr studioban a órajel sebességet túl nagyra állítom, az avr meghibásodik? (Túl nagy alatt azt értem hogy ami listában van, a legalsóra kattintottam: Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms) Mióta ez történt nem ismeri fel a device és singular byte -okat.. Köszi előre is!
Kvarc van az AVR-eden? Kondi 2*12...33pF?
Negatív feszt hogyan fogsz csinálni zénerekkel?
Némelyik RS232-es port megeszi a TTL jelszintet. Az érdekelt, hogy ez mennyire általános.
Ne szamits ra, csak a hibalehetosegek tarhazat bovited a sporolassal.
Felejtős.
Ilyen megoldáson bukott el a AVR-Butterfly rendszer. Az EIA232 szerint (ami a szabvány): -15...-3V illetve +3...+15V a jelszint és -3...+3V a tiltott tartaomány. Az RS232: szabványajánlás, azaz kb. nagyjából szabvány megfelelőség. A nagyjából az a necces: feszültségszint? sebesség? lábkiosztás? Mi az ami eltér? Én fapofával meg szoktam kérdezni, hogy a berendezés RS232 jelölése hol sérti az EIA232 szabványt? erre vállvonogatás legtöbbször a válasz. Így én nem viszek bele újabb hibát, így maradok a MAX-nál. Viszont ha a túloldali RS232, akkor azzal 70%, hogy nem működik együtt... Tranzisztoros megoldással meg 90% a hibavalószínűség... Az AVR oldalon a névleges sebességhez képest 0% eltérés (illetve toleranciával 0,1% alatti hiba), jelszinteket rendbe tartva (MAX232/MAX3232). Így ér a legkisebb meglepetés. A MAX232 chip esetén van ami 100nF-t kíván a feszbeállító részre, van ami 1 µF-t! Én nem hagynám ki.... A régebbi PC alaplapok esetén találkoztam a -15V...+0,7V illetve 2,5V...+15V tartaományokkal. Nem is írták le, hogy EIA232 hanem csak azt, hogy RS232 a csatlakozó!
Igen, már én is arra jutottam, hogy MAX232, UTP kábelen (kb. 6m kellene).
Az Arduino bootloader programját használnám, bár nem vagyok egyelőre biztos, hogy 115200 baud mellett (ez a bootloader frekvenciája) a 6m kábel miként fog viselkedni. Bízok benne... A hozzászólás módosítva: Jan 30, 2013
A speckót olvasva garantált, hogy át kell gányolnom a bootloadert 19200-ra. Arra írnak 7 métert.
Sziasztok.
Felmerült egy olyan, kicsi méretű PWM áramkör elkészítésének igénye, amely a következőket tudja: -5 fokozattal rendelkezik (20, ,40, 60, 80, 100%-os kitöltési tényezők) -az öt fokozat között manuálisan lehessen egy forgókapcsolóval váltani -lehetőleg ne legyen nagyon komplikált maga az áramkör (főleg helyhiány miatt) Az oldalon keresgélve, és Topi 'Nyolc lábbal AVR' cikksorozatát végigböngészve arra gondoltam, hogy talán nekem is jó lenne egy ilyen kis 8 lábas AVR erre a célra. A kérdésem az, hogy jól gondoltam-e, és valóban megvalósítható-e ezzel a dolog? (Ha nem, akkor legyetek szívesek valami mást javasolni ehhez a problémához.) Ha megvalósítható, akkor arra szeretnék ötleteket kérni, hogy hogyan is lehetne rábírni a mikrokontrollert, hogy váltani tudjon a kitöltési tényezők között. (Nem konkrét program érdekel, inkább a fizikai megvalósítása.) Kimenetből mindössze egyre van szükségem, amely egy FET-hez kapcsolódna. Ezen kívül még az érdekel, hogy milyen frekvenciájú PWM-et tud előállítani? (Tudom, ez 555-el is megvalósítható lenne, de szeretnék kipróbálni valamit, ami kicsit magasabb szinten van, és később esetleg továbbfejleszthető. Korábban még nem foglalkoztam mikrokontrollerekkel, viszont az érdeklődésemet eléggé felkeltették.) Előre is köszönöm a segítséget. Szép estét, T. |
Bejelentkezés
Hirdetés |