Fórum témák
» Több friss téma |
Fórum » AVR mintaprogramok
Hali mindenkinek
Ide minden "Példaprogramot" amit ti megcsináltatok és müködött ide tegyétek fel mert kb 2 perc mig kimásolod pl avr studióból a projektet de lehet valakitöl több napi szenvedést és egy halom felesleges kérdéstöl kiméltél meg.
A leirás abból állna hogy:
1. Mire jó ( mit tud ) 2. milyen AVR-t programoztál 3. Milyen programozóval 4. Milyen programmal 5. egyéb kiegészitések ha szükséges
Szia!
Szerintem nézz fel az avr.tavir.hu -ra, nagyon jó dolgok vannak, kész leírások is, és a fórum is tele van jó ötletekkel.
Pedig AVR témából elég kevés van a hobbyn !
Picböl anál több! És keveseben is foglalkoznak AVR programozásal ideje felenditeni ezt az ipart is!
"Picböl anál több!"
Igen, ennek így is van értelme , de gondolom Te inkább úgy akartad írni, hogy "annál több"... És egyetértek: Lendítsük fel az AVR-t! Sokkal jobb, mint a PIC. Amit használok: STK500 + AVR Studio, asm És mivel általában PC-vel is kommunikál (RS232 vagy USB), ott Delphi-ben írt programmal kezelem. (És a megszakításoknál mindig elfelejtem a regiszterek mentését... )
Sziasztok
Nekem máris volna egy kér-d-ésem. Egyáltalán fogalmam sincs a regiszterekről. Hogy működnek, hogyan kell küldeni, stb. Erről ha valaki tudna egy leírást, linket, példaprogramot ATMega8-hoz stb... az nagyon jó lenne. Van pár IC-m amit így regiszterekkel lehet vezérelni, de úgy hogy azt sem tudom hogy működnek, elég nehéz lesz őket használni. Előre is köszönöm
hali
Látom ténylkeg felesleges volt ezt megcsinálni mert kédést azt pl egyátalán nem ide kellett volna meg stb... na de mind 1
Én viszont azt mondom hogy nem lesz rossz ez a topik, a Kandón AVR-eket programozunk (Atmega128), és nekem még teljesen új az AVR, PIC-kel foglalkoztam már de evvel még nem. Tehát ha kerülnek fel ide programok, kis megjegyzéssekkel, az rossz nem lehet. Tényleg sokat lehet ilyenekből tanulni. Hajrá kérek én is mindenkit aki tud AVR-t programozni, az osszon meg velünk némi forráskódot.
adamtui_93: 1. Válasz-gomb
Amúgy is, miért nem való ide. Egy kis inspirálás, ha valakinek van példaprogramja, amiben használ regisztereket, azt is tegye ide, mert szeretném megtudni mi az... igenis a témába való szerintem. Egy fórumon pedig kötve hinném hogy fogsz tudni olyan témát indítani, ahova szabvány szerűen mindenki csak leírást fog beírni, ez egy fórum tudtommal, ahol ki lehet beszélni dolgokat... Másrészt a téma címe is leginkább azt sugallja - nekem - hogy keresünk példaprogramot, tegyük fel, szedjük össze. Egy regiszteres példaprogram, pl... jeleztem hogy egy ilyennek nagyon örülnék. Úgyhogy szerintem igen is ide való a kérdésem... tehát ezt szerintem hagyjuk.
Értem mire gondolsz csak anyit füznék hozzá hogy azon kivül hogy igazad van eredetileg ugy gondoltam ezt az egészet hogy az avr miértek hogyanokba felteszi mindenki a kérését meg meg az ilyeneket a programokat meg nem a sok szöveg közé teszi be hanem ide és akkor mindenki megtalálja 1 helyen legalább is valami ilyesminek indult
Idézet: „ahol ki lehet beszélni dolgokat...” Nem, az az AVR - Miértek, hogyanok... című topik, ahol az ilyen egyértelműnek tűnő dolgokra rá érdemes kérdezni. Már csak azért is, mert a nagytudásúak főként azt az AVR-es topikot olvasgatják és figyelik. Ez a topik, gondolom, olyasmi irányba indult el, mint a Programozható kimeneti feszültségű kapcsolóüzemű tápegység című topik, tulajdonképpen egyetlen ember kezeli, illetve egyetlen ember bővíti, lényegében Giants saját topikja, nemigen irkál bele senki semmit. Arra való főként az a topik, hogy Giants informálja az olvasókat, mindent nagyon részletesen leír, közérthetően, összeszedetten, kreatívan és precízen. A saját munkálkodásának / projektjének a levezetéséről szól, folyamatosan, hétről hétre. Olyan, mint amikor valaki saját naplót ír egy témakörben, és heteken keresztül boncolgat egy problémát.
Így azért más... de nem fog abban az értelmezésben működni a dolog ahogy Te most gondolod.
Még nagyobb lenne a zűrzavar.M Például. "Aember" az AVR topikban feltesz egy kérdése, "Bember" tudja a választ. "Bember" beír egy erre a topikra néző linket, ide pedig beírja a forrást és hogy melyik hozzászóláshoz "szánta" a kódot. Nem lenne az jó. Viszont úgy hogy példakódokat keresünk, gyűjtögetünk, megosztunk, amire "bankimajki" gondolt, meg Én is -kb. - akkor már lenne értelme a topiknak.
Értelek, nem is akarok veszekedni... de...
Idézet: „amit ti megcsináltatok és müködött ide tegyétek fel” "adamtui_93" csak a forráskódra gondolt. Az AVR topikban pedig minden van ami AVR. Kapcsrajzok, problémák és források. Végülis ki lehetne a forrás-gondokat emelni a topikból nem? Én kérdeztem én nem kaptam választ, legalábbis kerestem de nem találtam Olyan gyorsan el lett más felé terelve a szó... ...én pedig lényegében forrásra gondoltam. Tehát akkor egy picit módosítanám amit írtam. ...ahol ki lehet beszálni a forráskóddal felmerülő gondokat...
AVR ADC mintaprogram C nyelven.
Processzor: ATMega 8 Részben tesztelve, működő változat lett leegyszerűsítve. Kérdéseket, javításokat, javaslatokat várom. keresőszavak... avr adc mintaprogram avr adc példaprogram avr analóg digitális konverter avr adc konvertálás avr adc example
Én teljes mértékben igy gondoltam ebböl például egy kezdö is megért pár dolgot ha sok ilyen öszegyülik akkor meg segit neki a tanulásban ha olvasgattja öket
ui: köszi
Hali! Nem tudná valaki elküldeni ezen a honlapon szereplő, Nyolc lábbal AVR című cikksorozat szobanövény szárazság jelző forráskódját .hex fájlban elküldeni? A számítógépemen nem tudom feltelepíteni a AVR Studio-t.
Pont erre a mintára van szükségem !! Igaz attiny45-re kell de azt megoldom.... legalább is remélem
Nagyon kösz!!
Nos megszületett!! (lehet fikázni, ez az első programom ! )
CPU: AtTiny45 ( hex belefér 1 k-ba,) Működése: PB4 lábra adott feszültség (0-5v) függvényében különböző színekben pompázik a PB0 PB1 PB2 kimenetekre kötött RGB led. A program kivált egy adag komparátort, és logikai kaput. Nem mindent kommenteztem fel, mert és sem vágom teljesen ez ADC részt...
Kreáltam még egy mintaprogit. A hardver tök ugyanaz mint az előző hozzászólásomban, de most a timer0 modul és globális változó felhasználásával szépen kb másodpercenként változtatja az RGB színét.
Igyekeztem alaposan felkommentezni, egyrész magamnak, másrészt azoknak akik jómagamnál is kevesebbet tudnak. (ilyen embert nehéz lesz találni ) Enjoy!
Sziasztok!
Assembly "Hello World" mintaprogramokat nem tudnátok ide felszúrni? Megköszönném
Egy egyszerű de látványos kis progi attiny13 ra.
Futófény és fényjáték 5 leddel.
Hello
// ATMega 8 // ADC példaprogram #include #include #include "lcd.h" //#define LEDonPORTD |= (1< volatile int adc=0; // IO portok beállítása void InitPORT() { // 6543210 DDRC = 0b1011111; // PC5-ADC5 bemenet, többi kimenet // DDRB = 0xFF; // 76543210 // DDRD = 0b10000000; // PD7 kimenet(LED), többi bemenet // PORTD=0x00; } // ADC beállítása //-------------------------------------------- void InitADC() { //******************************************** // 76543210 ADMUX = 0b01000000; //******************************************** // 7 REFS1 // 6 REFS0 // 00 - Referencia az AREF láb, belső referencia lekapcsolva. // 01 - Referencia az AVCC láb, AREF láb kondenzátorral testre kötve. // 10 - Foglalt // 11 - Belső 2.56 Voltos referencia, AREF láb kondenzátorral testre kötve. //-------------------------------------------- // 5 ADLAR //-------------------------------------------- // 4 nem használt //-------------------------------------------- // 3 MUX3 // 2 MUX2 // 1 MUX1 // 0 MUX0 // ADC port választás binálisan megadva. Itt érdemes 0000 értéket megadni, // mert lekérdezéskor állítjuk be a portot. //******************************************** // 76543210 ADCSRA = 0b10000111; //******************************************** // 7 ADEN // ADC engedélyezve ha értéke 1, kikapcsolva ha 0. //-------------------------------------------- // 6 ADSC // Egyszeri mérésnél 1-re kell állítani, hogy megtörténjen a mérés. // Folyamatos mérésné ha 1-re állítjuk elindul a mérés, // ami utánna folyamatosan fut. //-------------------------------------------- // 5 ADFR // Ha 1 akkor folyamatos mérés fut, ha 0 akkor egyszeri. //-------------------------------------------- // 4 ADIF // Interrupt Flag - nem kell piszkálni // Ha 1 akkor a megszakítás jött létre. //-------------------------------------------- // 3 ADIE // Ha 1 akkor a mérés végén megszakítás jön létre. // Ha 0 akkor a megszakítás kikapcsolva. //-------------------------------------------- // 2 ADSP2 // 1 ADSP1 // 0 ADSP0 // Előosztás // 000 - 1 // 001 - 2 // 010 - 4 // 011 - 8 // 100 - 16 // 101 - 32 // 110 - 64 // 111 - 128 } // InitADC //-------------------------------------------- uint16_t ReadADC(uint8_t ch) { ADMUX = (ADMUX & 0b11110000) | ch; // példa ha ADC 5-ös portot olvasunk. ch értéke (5) binárisan (00000101) // 01000001 ADMUX jelenlegi állapota (1-es ADC csatorna beállítva) //& 11110000 ezzel töröljük az előző portk kiválasztást //= 01000000 eredménynek kapjuk az eredeti ADMUX beállítást //| 00000101 "ráírjuk" az ADC csatornát //= 01000101 ADCSRA|=(1< while(ADCSRA & (1< return (ADCL | (ADCH<<8)); // adc érték visszaadása } // ReadADC //-------------------------------------------- int main() { InitPORT(); // portok beállításai lefuttatása InitADC(); // ADC beállítás lefuttatása for (; { adc = ReadADC(5); // adc változóva írjuk az aktuális ADC értéket. // az érték egy 0-1023 közötti szám // ezzel az értékkel már bármit csinálhatunk, // most bekapcsolunk egy ledet, ha ADC nagyobb mint 500 //if(adc > 500) {LEDon;} //else {LEDoff;} lcd_init(LCD_DISP_ON_CURSOR); lcd_gotoxy(0,0); lcd_puts(adc); _delay_ms(100); } // for } // main annyi módosítás tettem a kódon, hogy a kijelzőre szeretem volna ki íratni a trimer által állított értéket az az 0-1023 között kapott számot, amit a adc változóból nyerek, amint írtad is, de a kijelzőn minden féle karakter jelenik meg. Maga kijelző jól van konfigurálva, mert bármit íratok rá, azt jól látom, ez egy 2*16 kijelző. Mit rontok el? Lehet konverzió probléma? Avr Studio 5 használok. előre is köszi>>>>>>>
A számot át kéne konvertálni karakterré.
Deklarálj egy szöveg (buffer) változót, aztán nézd át a sprintf függvényt.
Erre gyanakodtam, de nem jöttem rá, hogy mibe. Az mire át veséztem őket rájöttem mibe.
Most akartam feldobni, hogy meg van. Köszi segítséget
Szervusztok!
Nagyon örülök szintén ennek a fórumtémának. Már másfél éve foglalkozom AVR kontrollerek programozásával BASCOM alól. Igen sokat segített és segít a mai napig a Cseh Róbert által üzemeltetett TAVIR honlap. Rengeteget tudnak segíteni, bármi is a téma. Jelen pillanatban egy egyszerű 16 karakteres fényújságot készítek 5x7-es LED-mátrix segítségével. Proci: ATMEGA168 Meghajtó IC: MAX6953 (4db) A kód (BASCOM)
PROTEUS-ban lehet szimulálni! Remélem segítettem egy kicsit!
Sziasztok. Valaki tudna nekem olyan avr es gyújtást mutatni ami egyszerű és kesobbiekben tudom majd fejlesztgetni. Sajnos nem találok semmit a neten ea nem tudok elindulni sehogy
|
Bejelentkezés
Hirdetés |