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
Köszönöm a választ. Most már találtam megoldást PC-s kommunikációra is.
Idézet: „hogy nézem van 6 darab I/O portja, tehát LCD-t 4 bit módban tudsz vele kezelni és még marad is az ADC-nek 2 láb.” Es az LCD RS,meg az E(nable) laba...?
Akkor maradnak azok az LCD-k, amik soros porton kommunikálnak. Oda elég 2 I/O port. Csak le kell programozni, mivel ezen ha jól láttam nincs USART.
Csinált már valaki VB-ben sorosport komunikációt ATmega-val?
Van a mikrokontrolleren egy egszerű fesz mérő program, ami LCD-re kiírja az aktuális értéket és ha soros vonalon küldük egy parancsot elküldi az értéket. Bármely terminal programmal gyönyörűen müködik. VB-ben készítettem egy tesztprogit ami elküld egy szöveget és megjeleníti az ATmega az LCD - gyünyőrűen működik! Most jönnek a gondok: parancs elküld VB-ben és válasznak visszakapom az elküldött parancsot. Van valakinek tapasztalata ilyen ügyben?? (ATmega->Bascom, VB-> MScomm32.ocx)
ITT van egy megoldás, ahol az LCD-t eegy shift regiszterrel vezérlik. Így összesen 3 láb kell a vezérléséhez.
Ez a VB-s soros port kommunikáció engem is érdekel. Tudnál küldeni valami példa programot, leírást, linket stb. hozzá? XP alatt hogy lehet megoldani (gondorom a soros porthoz is kell valami DLL mint a párhuzamos porthoz...)?
Ha a Bascom pogi rs232 megszakítást használ akkor a gond lehet az, hogy a szöveget (parancsot) nem csak a 13-as (kocsi-vissza) karakterrel zárod, hanem a 10-el (soremelés) is és emiatt minden parancs után a soremelés generál egy újabb megszakítást.
Ötletes!! csak sok idő megy el a kijelzésre (szerintem) De biztos csomó esetben nem érdekes.
Ha kiírom Excel cellába a beolvasott adatot akkor visszajön az elküldött parancs 3 betüjéből kettő plusz egy soremelés. De én a parancsot egy sima 13-as karakterrel zárom. Ha 13 -as nélkül küldöm el akkor visszajön a komplett parancs. Kaptam egy fülest hogy a Cheapcomm progi pont e hiba kiküszöbölésére lett kitalálva, de XP alatt a telepítő meg se nyikkan.
Már 4 napja ezen pörgök és nem akar összejönni! Most hogyan tovább
Mivel én is csak próbálkozom ezért a példa progi végett látogass el a Bascom weblapjára, ahol az Appilaction notes allatt megtalálod a sorosport használatát VB-ben.
Kösz. Jó ez az oldal, sok hasznos dolog van itt. Egy kicsit el kell mélyednem benne...
Sziasztok!
Nem tud valaki valamilyen utasításkészletet+leírást vagy mintaprogit AVR assemblerhez? Még csak most kezdek foglalkozni az Atmel-lel és eddig csak PIC-re írtam programot Assemblerben.
Az adatlapjukban nincs benne az utasításkészletük?
Nekem működik az ADC -> COM Port -> Excel feszültség mérőm Attiny13-mal. A kapott adat utolsó két karakterét (tab és soremelés) legyalulva kapásból ábrázolja is a mért pontokat. 80 mérés/sec sebességet tudtam elérni vele.
Sziasztok !
Keresek olyan embert aki tudna ATMELT égetni progi és Atmel van" csak" össze kellene rakni őket ! Érdekelne egy komplett programozó leírás is !! Köszönettel Stefy
Milyen típust kellene programozni?
Programozó leírást találsz a fórum elején.
Helló!
Tudom olvassak vissza.... de nincs időm most átolvasni a fórumot, valaki légyszi adjon 1 ötletet! Építettem egy áramkört, egy ATmega8515-el
tehát építettem....
http://www.hoelscher-hi.de/hendrik/english/dimmer.htm itt látható. Letöltöttem bele ponyprog2000-el a linkelt oldalról elérhető DIMMER.HEX -et. Letöltés sikeres, szerkentyű elindul, de nem működik A cucc arról szólna, hogy egy külső soros jelfolyamból (DMX512 *rs485/250K baud) vezérel 8 csatornányi fázishasításos fényerőszabályzót. Nos a cucc elindul, de folyton hibát jelez azzal, hogy niincs DMX jel, vagy van, de nem jó a címzés. Áramkör jól van összerakva, és üzemképes, másoknál működik a kapcsolás... Viszont van az oldalon egy utalás, amit én nem csináltam meg: The 8MHz crystal has to be selected as clock source by changing the fuse bits. Nos ezt nem tettem, és nem is tudom hogyan kell ponyproggal... Kérdés, hogy ez okozhat e ilyen hibát, vagy ha ez lenne a hiba akkor teljesen használhatatlannak kéne lenni az áramkörnek??? Légyszi árulja el valaki, hogy fenti beállítást hogyan tudom eszközölni! Mint az eddigiekből gondolom kiderült, még sosem programoztam AVR-t, sőt semmit, úgyhogy szájbarágósan légyszi! Bocs a kuszaságért, segítséget előrre is köszi!
Tehát be kell állítani 8 megás kvarcra, alapból a belső 1megás oszcillátorról jár, valószínűleg ezért nem megy a kommunikáció normálisan.
Én legalábbis nem ajánlom a ponyproggal való fusebit állítgatást, mert ha minden igaz invertálva vannak, a pipák. Tök könnyen ki tudod zárni magadat az AVR-ből. Nekem sikerült is. Ajánlom a [link=http://avr.tavir.hu]http://avr.tavir.hu[/link] oldalt, ahol meg lehet találni a Bascom-avr nevű programot, igaz basic-ben lehet vele programozni, de a felprogramozott AVR fusebitjeit lehet vele kultúráltan állítgatni. A bascom-avr használatáról szintén azon az oldalon találsz leírást. Vagy valaki majd jön segíteni ponyprogban
Így van!
Ha nem állítod be, hogy ne a belső 1MHz-es oszcillátorról menjen, akkor biztos nem lesz jó. Mostanában nem használtam a PonyProg-ot, ezért inkább olvasd át ezt, mert nem akarok hülyeséget mondani.
urak köszi köszi!
Én meg naivan azt hittem hogy akkor nem tudnám írni olvasni sem a cuccot.... Na majd próbálkozom aztán jövök Az a nagy gondom, hogy nincs (számomra) egyértelműen megjelenítve a ponyprogban hogy mi mit jelent, csak ilyen CKSEL1, CKSEL2, stb-ket látok, hogy mitől hány Mhz, lesz, azt nem tudom Kicsit felkészületlenül álltam neki, majd olvasok kicsit ha nem vágja fejből valaki!
nnna... olvastam, állítottam, megy. Még nem tökéletes, de legalább komunikál!
Köszi szépen a segítséget!
Hello!
Szeretném a mega8-as avr-t fesz.mérésre befogni. Ehhez kérnék segítséget ill. infót. Bascom-ban már próbálkoztam , szimulátorában műkodött is rendesen, áttöltve az avr-be viszont csupa nullákat írt az LCD-re.Tehát amire szükségem lenne az az hogyan kell bekötni, működésre bírni a chip adc-jét? A neten néztem de nem találtam példa kapcsolást, progi (bascom). Előre is köszi!
Szia! Az avr.tavir.hu oldalt biztos ismered ha Bascommal próbálkoztál. Itt érdemes elolvasni a kisebb AVR chipekről szóló írást, mert ott pont ADC-hez van példaprogram, igaz ATtiny13-hoz. Szerintem az lehet a hiba, hogy rossz csatornát adhattál meg. Az adatlapban meg kell nézni, hogy melyik ADC csatorna melyik lábnak felel meg.
Hello!
Köszönöm a segítséget! Valóban ezt az oldalt ismerem,innen indultam. Megoldódott a problémám: Start Adc helyett Start Ac-t írtam Valahogyan mindig elsiklottam felette, ráadásul a bascom sem jelzett hibát .
Hali!
Épp grafikus kijelzőre írok drivert, de vátozó kiírási gondjaim akadtak. Valószínűleg csak nem látom a fától az erdőt, ahogy szoktam. :buck: A hiba jelenség: kiírom hogy 1235, eddig ok, majd növelem 1-el és 1350 magasságába eszméletlen krikraksz és indulunk ismét 1235 környékéről. A program ATMega16-ra készült, az ASCII karaktereket a flashben tárolom (5x7) 32-127-ig definiálva. A program részlet: void putvalue(unsigned char x, unsigned char y, int value) { unsigned char *str; itoa(value,str); while (*str) { putchar(x,y,*str); x+=6; str++; } } A karakter kíró fügvény def-je: void putchar(unsigned char x1, unsigned char y1, char c) A mutató típusokkal sosevoltam kibékülve! Ha kell több infó szóljatok, és ha van valakinek ötlete, javaslata, vagy tapasztalata azt kérem ossza meg velem! Elöre is köszi!
Sziasztok!
Építettem egy infra adót, mely a következő képpen működik: START: 9ms-ig villog a led + 4,5ms nem villog Logikai 1-es : 4ms villog + 2 ms nem villog Logikai 0: 2ms villog + 2 ms nem villog Egy csomagban 1Byte adatot akarok küldeni A vevőhöz egy TSOP1736-ost használok. Erről azt kell tudni, hogy 0-ra huzza az OUTPUT lábát, ha előtte egy infra LED villog 36KHz-cel, egyébként bedig logikai 1-es van a lábon. Az adó teljesen jól működik, mert kimértük oszciloszkóppal. A TSOP1736-os lábán is helyesen jelennek meg az adatok. Egyszerűen csak nem tudom lemérni őket, mindig rossz valami. Nem tud valaki segíteni? ATmega16-ost használok a vevőben. Csatoltam a vevő eddig megírt progiját. Előre is köszi Spooky |
Bejelentkezés
Hirdetés |