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
Sziasztok! ismét
![]() Nagyon tetszik nekem ez a játék az MCU-val. És mindig jönnek elő gondok is persze. Most RS232. Adatot fogadni csak úgy tudok, hogy 1-1 karaktert. Így:
Ez a kód csak akkor működik, ha egy karaktert küldök el. Pl elkültöm az a betűt akkor ez letudom kezelni az AVR-ben. Viszont én szeretném elküldeni neki PC-ről a z010 karakter az a helyett. Ezt így próbálom feldolgozni ISR-ben:
Viszont, ha úgy próbálok ellenőrizni, hogy data == 'z010' akkor már a fordító is panaszkodik: ../alap.c:265:17: warning: multi-character character constant Hogyan kell köbb karakter fogadni és kezeli?
Álljon már meg gyászmenet. Te vállaltad a projektet, te fogod kapni érte a lóvét, és jó formán velünk csináltatod meg? Oké persze, ha nagyon megakadsz akkor segít az ember, de ez már kezd egy kicsit sok lenni, nem gondolod?
Erre a problémádra is van egy nagyon egyszerű megoldás. Már itt a fórumban is előjött.
[off] El sem indult az a bizonyos menet.
Most még csak próbálkozom és tesztelget. Összeraktam a hardwer-t próba panelen. Működik az SPI, RS232, RS485, LCD amit egy menüs rendszer vezérel. C#-ban írom hozzá a PC-s progi-t. Soha nem kértem segítséget. Sőt csak részekre kérdeztem rá soha nem kellett step-by-step megoldás. Azt is bevallottam, hogy kedő vagyok még C-ben ilyen low szinten. Természetesen, ha valaki csatlakozik az elképzeléseimhez és minden bit-ben mellettem áll akkor honorálom. Én a jövőben szeretném pénzre váltani az ismereteim mert a befektett energia is pénz. Szerinted más hogyan csinálja? Én még így is jobb mint a kínai. De, ha ez gond akkor maradok magamnak és megoldom. Max. nem egy hanem két-három nap alatt. Egyéb gondolataim privátban....
Pont arra gondoltam, amire sgt kolléga is, még mielőtt olvastam volna a kommentjét.
Egy kis önállóság lehet nem ártana. Én eddigi életem során összesen kb 20 fórum kérdést tettem fel. Beleértve minden problémát amivel valaha találkoztam. Ennek két oka van: 1: Általában mindent kigooglizok 10 perc alatt. Annyi idő alatt pedig biztos nem jön válasz fórumon. 2: A legtöbb dolgot már úgyis megkérdezték. Kérdésedre a válasz: Tedd egy ringbufferba az interruptban az érkezett byteokat. Feldolgozáshoz használd utána a string.h függvényeit.
Rendben felfogtam mindent. Közben megtaláltam az ANSI C könyvemet.
Azért kérdezek csak mert tapasztaltabb emberek talán mondanak olyan dolgot is ami én kezdőként nem vennék észre. Csak azt nem látom, hogy miből veszitek a step-by-step kérdésemi. Volt egy csomó elméleti az igaz, de sose kértem, hogy helyettem oldjátok meg. Sokmindent megcsináltam már magam. Na mindegy. Amit eddig csináltam az működik a többire meg úgy is rájövök akkor.... Maradok néma szitelettel. ![]() Amit írtál a kérdésemmel kapcsolatban azt este kipróbálom.
Sziasztok!
Az Attiny 13-as avr-t ha már egyszer égettem bele programot akkor azt már nem lehet javítani? tehát más programot nem tudok beleégetni? az már benne marad? Előreis köszi a segítséget!
Égess bele egy másikat, kb 10000szer lehet újraírni, ami addig benne volt azt átírja(vagy törli) az új program és csak az lesz benne a flash memóriájában azután...
Köszi! pont erre voltam kíváncsi!
Tökéletes válasz.. ![]()
Sziasztok,
Vettem egy I2C LCD kijelzőt, ilyet: Bővebben: Link Az Arduino library, amit lent mellékeltek hozzá működik, az a kérdésem, hogy "natív" libraryt, amit attiny-hoz tudnék használni, hasonló funkcionalitással ismertek-e, használtok-e?
Gondolom valami ilyesmi kell. Az én művem.
Ez master oldali, az init, read, write, start és stop részeket használd, a többit vágd ki ha nem kell!
Sziasztok!
Kerestem neten de nem találtam az Atmel által használt kódok jelentését. Pl Atmega16A-AU Adatlapból látom a különbséget, hogy az 'A' micsoda de az 'AU'-re nem tudtam még rájönni. Előre is köszönöm a segítséget!
Az utolsó két betű a tokozás és a (működési) hőmérséklet, így, sorrendben.
A tokozás a lényegesebb, "A"=TQFP, "P"=DIP, S="SOIC", "M"=QFN/MLF. Az utolsó betű a hőtűrés, "C"=Commercial(0-70°C), "I"=Industrial(-40-85°C), az "U" neve most nem jut eszembe de ugyanaz mint az Industrial, csak RoHs(többek közt ólom-és halogénmentes).
U = Unleaded nagy valoszinuseggel...
(azaz olom mentes)
Kipróbálom, köszi
Sziasztok!
Az lenne a kérdésem, az ATMEGA8-P tönkre mehetett-e attól, hogy hibás panel miatt a 21-es láb testre volt kötve? Az AVR-es tranyó teszterről van szó. Bekapcsoláskor a kijelzőn egy sorban 0-kat és nyilakat ír ki és közép tájon értelmezhetetlen karakter szerűség látható. A választ előre is köszönöm.
A 21-es láb az AREF, azaz ha a "rendes" GND lábon megkapta a földet akkor kizárt hogy ettől tönkremenjen!
Ha a kijelzőre hülyeségeket ír ki akkor nagy valúszínűséggel az adatvonalak valamelyikén zárlat/szakadás van, de megeshet hogy a kijelző rossz vagy nem támogatja a 4 bites módot.
Az LCM3-ba is ilyen kijelzőt raktam, holnap megcserélem őket. Lehet hogy a szalagkábelben van szakadás. Az is elég furcsa ha csatlakoztatok hozzá valamilyen alkatrészt akkor sem változik semmi. Ilyenkor nem kellene azért valami változásnak lenni a kijelzőn?
Amíg nincs rendes kommunikáció addig ne is várj rendet a káoszban!
Egyébként, akár az AVR rossz, akár a kijelző, egy fekete csíkon kívül nem látnál semmit. Azaz mindkettő jó...
Szervusztok,
Bele szeretnek kostolni az AVR-ek C nyelvu programozasaba. Azt szeretnem kerdezni, hol talalhato annak a C nyelvnek ( itt elsosorban az utasitasokra stb. gondolok ) a leirasa amit az AVR compiller megemészt ? A PIC-eknel letezik a CCS, MCC18 ,High-tech C stb. mindegyiknek van ugynevezett User's Manual-ja amibe szepen reszletesen le van irva minden utasitas ,fuggveny stb. amivel majd lehet dolgozni es amit az illeto fordito megemészt. Ilyen leiras az AVR-ek eseteben hol talalhato ? mondjuk ami az AVR Studio 4 - el kompatibilis.
Kezdésként gyakorlatilag bármilyen C könyvet elővehetsz, jó alapnak akár egy c++ könyv is. A neten pedig rengeteg cikk van a portokról, adc-kről amik az AVR hardveréhez kellenek. Akár az msp430as cikkek is jók, csak meg kell keresni az avr adatlapjában a portok (stb) nevét...
Köszönöm szépen . Igy igen nagy az Entropia maradok a PIC-nél . (Honnan tudjam, hogy mit jegyezzek meg az illető könyvből ami ott van egész operácios rendszereket írtak vele.)
Igazából csak a fő függvényeket, operátorokat stb kell megjegyezni. PIC-et milyen nyelven programoztál? Ha C nyeléven, gyerek járék lesz áttérni AVR-re.. Esetleg ami sokag segít az Fizikus robotika cikksorozata: Bővebben: Link
Itt minden szépen le van írva, kezdőknek is tökéletes!
CCS C-ben írtam egyszerübb programokat de közbe láttam,hogy komolyabb programozok ( akiktöl ihletödtem ) áttértek más forditóra High-Techre stb.tehát akkor a CCS se jó ? egy állandó ugrálás ide- oda.Ezért arra gondoltam, hogy az Atmelnek van egy jó compilátora semmi variáció nélkül ( nyelvjárások nélküli ) de sajnos a dokumentáció hiánya megneheziti a megbarátkozást. Ugyanez vonatkozik az AVR Studiora annak sincs egy olyan leírása mint az MPLAB User Guide.
Az AVR-eknek GCC forditoja van. Legalabbis az ingyenes fordito az a GCC. Ennek a neve AVRGCC. C99 szabvannyal kompatibilis. A C library leirasat itt talalod: AVRLibc
Ha igazan melyen szeretned tudni, hogy hogyan zajlik a forditas AVR-re, akkor tovabbi irodalom a gnu make program leirasa. Hogy maga a studio 4 hogyan megy az nem bonyolult. En special a studio 4 helpjet olvasnam el a helyedben.
Figyi, mielott hirtelen felindulasbol mindent lef*kaznal irdd mar be a googliba a megfelelo szavakat! Az, hogy valamit nem tudsz, nem szegyen, csak ne vondd le a kovetkezteteseket, hogy amirol nem tudsz az nem is letezik...
Elso talalat... hoppa... A masik, hogy a CCS es a HiTech NEM AVR, tehat az nem ide tartozik (amugy a valasz: Igen, a CCS nem jo...)
Ne vonj párhuzamot a PIC és az AVR között. Teljesen máshogy épülnek fel az MCU-k, teljesen más elven van felépítve az adatlap, teljesen más a support, teljesen más a leírások/példa progik struktúrája. Az IDE, a fordítók is teljesen másak. (Ez vonatkozik minden más gyártó által készített MCU-ra is.) Mielőtt elmerülnél benne, próbáld elfelejteni a PIC-es múltadat, és ne próbáld összemérni a kettőt, ha könnyedén szeretnél megtanulni programozni AVR-en.
A helyedben az assemblyvel kezdeném az ismerkedést. Gondolom a PIC-el is így kezdted.
Köszönöm szépen !
Most már csak egy AVRISP mkII hiányzik és indulhat a játék. |
Bejelentkezés
Hirdetés |