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
végülis abban se volna rossz!
megköszönném ha küldenél
Sziasztok!
Segítsetek legyetek szívesek! Van egy TavIRisp USB programozóm,van egy *.bas filém és van még egy ATTiny2313-mam. Azt szeretném kérdezni hogyan tudom beégetni a tinybe a basic filét? Eléggé kezdő vagyok ezen a téren. Köszönöm!
Szia!
Leszedsz egy bascom demót vagy az mcselec.com oldalról, vagy pedig az avr.tavir.hu oldalról, értelemszerűen feltelepíted, betöltöd vele azt a .bas fájlt, aztán leellenőrzöd, hogy a tiny2313 van e benne beállítva, illetve hogy a többi beállítás stimmel e, aztán le kell fordítani a fájlt, így lesz belőle egy .hex fájl. A beégetést vagy elintézed bascom alatt (de ha jól tudom, akkor a bascom, és az usb-s progizó együtt lassú), vagy pedig más égetőprogi után nézel. Égetés elött még le kell ellenőrizni (illetve beállítani)a konfigurációs biteket, és utána már be lehet égetni. Amúgy az avr.tavir.hu oldalon van egy egész jó kézikönyv, amiben nagyrészt benne van : Bővebben: Link
Köszönöm szépen a gyors válasz majd utána olvasok és próbálkozom!
A bas-ból HEX/Bin-t kell fordítanod, ezt az előbb linkben megkaptad, hogy milyen módon.
A programozóról meg leírás: Bővebben: Link
Sziasztok! Én 100 db LED-et szeretnék egy AVR-re tenni, 10x10 elrendezésben mátrixban. Ezzel még nincs gond, viszont nem szeretném "elfőzni" szegényt mikor egyszerre begyújtom mondjuk mindet. Valami áramgenerátor kell nekem azt hiszem. Kiszámolni nem tudom, mert ahány LED, annyiféle fajta és szinű, afféle karácsonyi móka lesz.
Szóval ha van valakinek ilyesmi tippje, kérem ossza meg velem. Gondolom valami BC tranzisztor elég lehet. De hogy?
Nem 20 db tranyó kell? 10 a vizszintes 10 sornak és 10 a függőleges 10 sornak. Egyébként ez rendben is van hogy ez kell, de mégis, hogy kell összeállitani egy ilyen áramgenerátort? Gondolom kell ellenállás is, tuti, de bővebben? Köszi szépen.
Nem áramgenerátorként kell bekötni, hanem kapcsolóként. A tranzisztorokat közös emitteres kapcsolásba kell kötni.A test felöli oldalra jönnek az NPN tranyók a pozitív részre pedig a PNP-k. Ha egyik led árama sem haladja meg a maximális 40mA-t akkor a sorokat kötheted közvetlenű az AVR kimenetére is az oszlopokat pedig tranyókkal, vagy ULN2003-al. Természetesen az oszlopokat multiplexálni kell.
Hétszegmenses kijelzőnél találsz erre példát.
Sziasztok !
A Net-en rengeteg .HEX kiterjesztésű fájl található, ami gondolom már lefordított forrásprogram. A kérdésem az lenne, hogy ezeket hogyan lehet letölteni a mikrovezérlőbe, mert nekem csak .BIN kiterjesztést enged a BASCOM-8051.
Ha lenyitoda filetípust, nem kínálja fel a *.HEX-t? 8081-be akarod beégetni vagy AVRbe? nem ugyanaz a 2 bascom!
Na igy már értem, külön köszi a multiplex dologért. Ugyanis ma ugrott be, hogy ok, hogy én ki akarok egy ledet gyujtani, de ha az egyik "oszlopon" már van aktiv led, akkor ott H szint van. Most a lednek a másik lábára hiába küldök H szintet hogy begyujtson, nem fog...
A kapcsoló, itt nem fogok belefutni abba hogy az adott "soron" ami egy tranyón van, csökkenni fog a fényerő, ahogy egyre több led gyujt be rajta? Köszi nektek a segitséget. utánnanézek a multiplex dolognak és összerakom, hagy örüljenek a kicsinyek. Futófény már van az ablakban AVR-es de ott nem mátrixban Egyszerübb volt.
Nahát, értem én ennek az elméletét. Mostmár tudom hogy a karórámba ha lelövöm a kvarcot, miért csak pár pálca marad a kijelzőn Akkor mostmár pár konkrétabb kérdésem lenne csak.
Ezt nem értem ami a " Kijelzők multiplex vezérlése (Dynamic Drive)" cikkben van: #int characters[17] = { #/* 0 */ 0b00111111, #/* 1 */ 0b00000110, #/* 2 */ 0b01011011, #/* 3 */ 0b01001111, #/* 4 */ 0b01100110, #/* 5 */ 0b01101101, #/* 6 */ 0b01111101, #/* 7 */ 0b00000111, #/* 8 */ 0b01111111, #/* 9 */ 0b01101111, #}; Miért characters[17]? 2x7 szegmens az 14, meg ugye a 2 kijelző "GND?" az csak 16. Második kérdés, mivel 100db LED lenne benne, ezeket mind-mind külön le kell tárolnom egy ilyen int characters[]-ben? Bele fog ez férni egy AtMega8-ba? főleg hogy, és változatos összevisszaságot szeretnék beleirni. Harmadik kérdés, ami van a rajzon a kijelző felett 4 tranyós rész mi lenne? Utolsó (bocsi), BasCOM-ban nincs egy ilyen példaprogi valakinek? Neten találtam jó dolgokat de azok C... Köszönöm a türelmetek.
Szeva!
A dolog lényege a te esetedben, hogy a kijelződet/mátrixodat valamelyik dimenziójában fel kell darabolnod. Íme egy példa, választod a soronkénti kijelzést: 10 sor van, te időben egymás után aktiválod, azaz nyitod a hozzá kapcsolódó tranyót. És pontosan abban az időpontban, mikor aktiválod a sort, aktiválod a benne megjelenítendő oszlopokat. Így az adott sor, és az adott oszlop(ok) metszéspontjaiban elhelyezett led-ek világítani fognak. Ezután jön a 2., 3., 4., ... 10. sor. A kapcsolás frekvenciáját, avagy az egyes sorok H állapotának időtartamát úgy válaszd meg, hogy az ember szemének egybemósódjon, és ne látszódjon a villogás. Tudomásom szerint az ember szeme kb. 25 fps-el lát, tehát tedd fölé a frekit. 100Hz-es képfissítés már jól néz ki (gondolj csak a tv-re), ami azt jelenti, hogy 1 ms időre ízzítasz egy-egy sort, így 1/100s alatt végigpörög a 10 sor. Üdv: Zsolt U.I.: Én asm-et használok, de írok neked példaprogit, ha mutatsz kapcsolást hozzá.
Szia !
BASCOM-8051 - et használnék, nem kínálja fel csak a .BIN kiterjesztést. AT89C2051 - be szeretném DL2TM programozóval égetni a programot. Egyáltalán a .HEX típusú fájlt átlehet konvertálni .BIN kiterjesztésűvé ? Szerintem ez független a BASCOM típustol, mármint a konvertálás.
PonyProg-al elvileg lehet át lehet konverálni a bin fájlt, égetni viszont nem.
Sziasztok !
Válaszolok a saját kérdésemre, hát ha mást is érdekel. A .HEX fájlt tökéletesen kezeli és ismeri a DL2TM programozót is az alábbi program. IC-Prog
Sziasztok!!
Lenne egy kérdésem: Mi az alapvető kölünbség a kettő között: 1. #define A 100 2. const int A=100; kösz a válaszokat!!! T
A különbség nagyon egyszerű. A define egy egyszerű replace. A 2. az egy fizikai regiszterbe írás és művelet.
A define-nál ha azt mondod, hogy: #define Alma (~(1<<5)) akkor a fordító a eredmeny = korte && Alma esetén, a következő kódot generálja. eredmeny = korte && (~(1<<5)) Magyarul a nagy különbség, hogy a define nem érték adás, hanem definiálás. Define esetén bármi lehet. Egy kifejezés, egy függvény, bármi.>>>>
Sziasztok. Kicsit rosszul jártam... A nyáron irtam bascomba egy RGB-led es világitásvezérlés progit. A sors ugy hozta hogy most került a gazdájánál beszerelésre. Akkor is épp hogy belefért a 4K-ba a program RC5-el, sorosportal meg mindennel. Most kelett volna rajta még pár simitást végrehajtani de a progi eltünt a gépröl :eek2: . Gondoltam ujrairom c-be de beletörött a bicskám, még van mit tanujak. Mega48 hejett kapot Mega88-at, csak tehnikai korlátok miatt csak 4K progi fordul le bascomba.
Valaki tudna segiteni egy kicsit hogy a korlátlanitott bascomot hogy tanitsam meg Mega88 kezelésére? vagy egy ujjabb verzio megpockolásával? :zavart1:
Ha jól tudom a 1.11.7.4-es bascom-nál újabbra nincs orvosság.
Ajánlani tudom a Codevision AVR C fordítót, ami nem követel olyan magas szitű C nyelvtudást, meg van egy rakás beépített rutin is (LCD, UART ...).
Mostmár rááldoztam a teljes napot és kész vagyok a program 90%-val. Már csak az usztatás maradt hátra. Mostmár tulléptem a 4k-os határt
Akkor valahogy a 1.11.7.4 nek kellene bemásolni a mega88 dolgait. Sima bemásolás nem segitett. Még valamit lehet át kell másolni. Ha ez valahogy megindul összedobok egy Demo-board ot és esek neki a c-nek.
Szerintem ez a dolog a bascommal nem fog menni.....
A bascom gyógyítottból a vadon élőből az 1.11.8.1-es érhető el (emule, DC, stb).
Ebben a M88 támogatás benne van...
Van egy problémám egy mega8-al, véletlenül rossz firmware-t égettem bele, és most nem tudok kommunikálni sehogyan sem. 0x00-és ID-t olvas vissza az égető, és a flash is mindenhol 0.
Az égető működőképes, más kontrollereket ír/olvas, a kontroller sem lehet port hibás, mert nincs azokra semmilyen eszköz kötve, az égető minden adatvezetéke is 330 ohmos ellenállásokon van összekötve a mikrovezérlővel. Lehet, hogy megint sikerült letiltanom a soros kommunikációt?
A firmware nem üti ki a kommunikációt. A biztosíték bitek állítása viszont megteheti....
Köszi, sejtettem, hogy valami ilyesmi hibát csináltam. Közben lemértem az égetés közben az avr lábait: az stk200 megfelelően dolgozik, csak nem olvas vissza semmit, a MISO-n végig 0 szint van.
Még az lenne a kérdésem, hogy vissza lehetne hozni a régi állapotába a kontrollert, vagy nem érdemes ezzel többet foglalkozni?
Ez a 0 jön vissza többmindentől lehet:
- órajelet állítottad el - SPI letiltás - RESET letiltás Ha az órajelet állítottad el, akkor a XTAL2 v. XTAL1 lábra küldj 1MHz....12MHz közti órajelet. Ezzel külső órajelről hajtod, így mindegy hogy XTAL, resonator avgy ExtClock van beállítva. A maradék 3 esetben csak ún. paralell nagyfesz programozóval lehet újraéleszteni...(STK500 alappanel) |
Bejelentkezés
Hirdetés |