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
Nincs kőbevésve, hogy neked ki kell írni az PB1-et vagy bármit. Részlet portpins.h:
De a jobb olvashatóság érdekében nem árt. Ezt olvastad már: Bővebben: Link
Ha LCD kezelésre írsz függvényeket szerintem ne vacakolj vele.
Bővebben: Link Ez nagyon jól használható, paraméterezhető könyvtár. És, ha kell akkor módosítasz rajta.
Erdekelne az ATMEGA-16 mikroproceszort milyenel lehetne helyetesiteni (egy led kijelzot kelene meghajtson).
ATMega16 / Mega32 / Mega164 / Mega324 / Mega644 / Mega644P / Mega128P / Mega16A / Mega32A / Mega164A / Mega164P / Mega164PA / Mega324P / Mega324PA / Mega324A / Mega644A / Mega644PA / Mega128PA.
HEX ha meg van, akkor csak a Mega16A / Mega32 / Mega32A jöhet szóba.
Hááát, a mega32 egyáltalán nem hex-kompatíbilis vele, csak kivéve ha nem használ interruptokat.
Ha csak a lábkompítíbilitás számít: ATMega32, ATMega644, ATMega8535.
Akkor marad:
Mega16 / Mega16A M16 -> M32 migrálás: http://www.atmel.com/Images/doc2538.pdf Sőt M32 az a Bootloader miatt sem csereszabatos... ![]()
Ez nagyon jó kis cikk, és még egyszerűnek is tűnik a használata...
Letöltöttem az lcd.h állományt innen:Bővebben: Link és bemásoltam a Idézet: mappába, de amikor az AVR studioban build -elni akarom az lcd_tect.c -t(mellékelve a zipben), akkor rengeteg hibát ír ki a fordító:„WinAVR\avr\include\avr” Idézet: „AVR STUDIO 4\projekts\Atmega48\asdel\default/../asdel.c:66: undefined reference to `lcd_init' AVR STUDIO 4\projekts\Atmega48\asdel\default/../asdel.c:74: undefined reference to `lcd_clrscr' EAVR STUDIO 4\projekts\Atmega48\asdel\default/../asdel.c:77: undefined reference to `lcd_puts' //...stb...” De ha az lcd.c-t is be includézem(ha jól láttam, ebben vannak leírva a függvények) akkor a nem definiált PORTA miatt errorozik, még akkor is, ha beszúrom ezt a sort:
Mit rontottam el? ( a vezérlőm atmega48, ezt is állítottam be a gcc-nek) Tudna valaki segíteni?
Nem az include mappába kell tenni, hanem bárhova, csak az a lényeg, hogy az AVR Studioban a projekthez kell adni (bal oldalt), és utána csak a c fájl headerjét kell beincludolni.
Tehát a h fájlt baloldalon hozzáadom a projekt headerjéhez, és a c-t pedig a projekt sourcejéhez?
Ezen a c-n kívül van még 1 c állomány, az én programom, amiben használom a könyvtár függvényeit, itt nem baj hogy 2 .c file lesz?
A precompilernek a header fájlra van szüksége, mert abban vannak a függvények fejlécei, amit hogy ha valahol meghívsz, akkor ezen a headerön belüli fejléc alapján fogja tudni, hogy hol találja meg (nagyon röviden). Így a header fájlokhoz kell adni a .h fájlt, és mivel ehhez szükséges a definíció is, ezért a .c is be kell tenni még hozzá a source-ok közé. Ezzel lehet strukturálni a programot több fájlra. Példának okaként a GCC 25500 .c fájlból épül fel. Vagyis nem gond ha több source/header fájlod van. Sőt ha nagyobb programokat írsz, akkor bontsd több fájlra bátran! Főleg akkor ha egy általános probléma csinálsz függvényket pl. ez az LCD kezelő .c.
Mi okozhatja egy MAX232 IC-nél, hogy ha kiküldök valamit, akkor a 0 és 1 is pozitív feszültség tartományban van? Bejövőt sajnos csak nehezen tudok mérni/tesztelni. Csak annyira van lehetőségem jó formán, hogy azt ellenőrizzem, hogy jött-e valami, az hogy az jó, azt már nem :no: . Nagyon egyszerű oszcim van.
Valószínűleg én vagyok a hülye, de nem értem a kérdésed? A 0 miért kellene, hogy negatív tartományban legyen? Miért nem tudod ellenőrizni, hogy mi jött be? Miért nem iratod ki LCD-re a bejött adatot?
Én úgy tesztelek, hogy ami jött az vissza is küldöm és látom, hogy mi a helyzet.
Szabvány mondja meg, hogy mi számít 1-nek és mi számít 0-nak. Azért mert buta az oszcilloszkóp, és csak kézzel lehet megállítani. Triggerje is nagyon buta. JTAG ICE clonet építek, ahol nem számoltam azzal a lehetőséggel, hogy pont a soros port nem fog klappolni
![]() Én is a visszhanggal tesztelek, de ezen megbukott és ezért kezdtem el kutakodni az ok után. Csak most már szinte mindent végig néztem, és nem találom a hiba okát. Minden forrasztásom jó, ami ehhez köthető. Nincs rövidzár sehol ahol kitudtam mérni.
Ismerem a szabványt. Mellékelek két képet. A számítógépről küldtem el a hobby szót. Tápfesz 5V.
A mérés az AVR RXD lábán készült. Nem adtam külső trigger jelet a szkópnak. Storage mode ON, Trigger NORM.
Blackdog és Sgt köszönöm a segítséget, működik az LCD!
![]()
A kondikon merjed meg, hogy a negativ feszultseget sikerult-e eloallitania. Szerintem ez lesz a gond. Ha nincs meg, akkor a forrasztasokat es a kondik kapacitasat kell ellenorizni. Ha ez sem segit, akkor feltetelezheto, hogy a kondi vagy az IC hibas.
Igazad lehet. Én az AVR és a MAX232 közötti jelet mellékeltem. Azért nem ártana ránéznie ide is. Ha itt nincs semmi akkor tuti, hogy IC vagy kondi hiba.
Idézet: „Erdekelne az ATMEGA-16 mikroproceszort milyenel lehetne helyetesiteni (egy led kijelzot kelene meghajtson).” LED kijelzore szinte barmi jo aminek van eleg laba (I/O) es ami kaphato is es eleg olcso is szamodra... Amugy az ATMega16 nem mikroprocesszor! Az egy mikrokontroller amiben mellesleg van processzor is...
Csak, hogy teljes legyen a mérés. "null pontból" felső vonal AVR után +5V. Alsó max232 után - 6V.
Másik képen a két mérési pont együttes jele. Látható a +5V és a kb. +-6V és az is, hogy nem a legzajmentesebb az átvitel, de eddig még nem hibázott.
Ahogy elnézem nincs is olyan gagyi szkópod mint nekem.
Miért nem mérsz az rs232 ic előtt és után dual módban? Erről tettem fel képet. Egyből látnád, hogy hol a gond.
IC csere lesz ebből. Mindenesetre még soha nem méregettem rs232 vonalakat
![]() Hidd el nem olyan jó. Ezeket a képeket is kb 30-jára sikerült ilyen jól elkapni, mert hiába a trigger, a run at once az mint ha nem is venné ezt figyelembe. Nem beszélve arról, hogy 200 ks/s a max mintavételezés, és nem BNC csatis, hanem sorkapocs van...
Kapcsolást mellékelj. Különben csak találgatunk.
Ne mond, hogy nem segítettem.
![]()
Itten van. Elméletileg a gyári kapcsolás.
![]() Nekem az analóg szkópok mindig is jobban a kezemre álltak. A digitális csúcs szuper meg minden, de nekem az analóg, az analóg. A feelinget nem tudja visszaadni.
Nem csatolta... pedig csak 1,5 MB. Itt van a lényeg.
Lehet, hogy én tudom rosszul de a Dsub9-nek az 5ös lábát nem GND-re szokás kötni?
A drót szőrű foxi mélyen van elásva, mert most már egyáltalán semmi sincs. Holnap folyt köv.
|
Bejelentkezés
Hirdetés |