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
Ez kiirja az eeprom tartalmat, csak visszaellenörzéskor hibát jelez ! De hogy, és mit frissitesz ?
A programozódon magán van egy ATMEGA8. Annak a tartalmát frissíted.
Annak a tartalmát egy másik USBAsp-vel lehet frissíteni, hogy össze kell dugni a kettőt és az egyiket át kell jumperelni. Kb 10 perc az egész de nekem ez tökéletesen működött frissítés nélkül is.
Nekem is működik.
Én csak válaszoltam.
Sajnos most nem tudom frissiteni. Alpvetően a tartalmat kiirja, csak mismatch-ot ir. A fuse bit-ekkel kell valamit variálni ?
A hozzászólás módosítva: Júl 25, 2016
A chip erase törli a flash részt, de az eeprom tartalmat meghagyja ? Ez normális ?
Mint kiderült , normális, lock-bit-et kellett átállitani, és akkor letörölte. Most viszont az van, hogy minden első byte irodik csak be, a másodikok FF értéken maradnak ! Mi a fene ez ?
:O
Sikerült megoldani.
Rövidebbre vettem a kábelt a progamozó és a áramkör között, de a gond valószínüleg az volt, hogy csak egy GND volt bekötve. Most egyből kigyulladtak a ledek az áramkörbe, illetve gond nélkül sikerült az EEPROM tartalmat kiirni.
Tényleg olyan is volt, a GND sem ment ki a programozóból ott ahol gondoltam ( némelyeknél A soros port lehetősége miatt beáldoztak néhány GND pontot, amit nem vettem figyelembe)
Sziasztok!
Hogyan lenne egy float típusú változó mentése majd törlése EEPROM-ból?
Egy float ugyan úgy bájtokból áll, mint egy bájt, csak többből.
Szedd szét bájtokra és írd ki őket külön. Mit értesz törlés alatt? Írd felül valami mással. A hozzászólás módosítva: Júl 31, 2016
Károsodni nem fog, max. nem indul el vagy hibádzik. 20MHz ilyennel még bőven vállalható, de csak 5V-on. Nekem VGA-kimenetes órám magja egy ATMega88, 25.125MHz-en...
Közben próbálkoztam 25MHz-el, amivel ugyan javult a jelek befogása, amik bitminták, csak még így is téveszt. De nem kísérletezem vele inkább megépítem ttl- vagy egy ttl "bemenetválasztó" után teszem rá a ukontrollert.
Tiszteletem Kedves Fórumtársak!
Pár éve külföldre költöztem és a semmiről kezdtem újra az életem (nyelvtudás és pénz nélkül), így programozni, elektronikázni sem volt/van időm, viszont sikerült vennem pár hete egy régi roncsot, amiben bele berheltem már egy riasztót, de szeretném azt kiegészíteni egy "pager"-rel. (Sajnos még mindig egy arab gettó kellős közepén lakom, ahonnan előszeretettel kötnek el autókat hétvégenként széthajtani, majd porig égetni, így szeretném ezt megelőzni...) Terveztem még otthon egy ilyen építését, de van egy kis elakadásom. Három panelből áll. -Egy SIM900 GSM modul-ból, -Egy UBLOX NEO-6M GPS modul-ból és -Egy Arduino Nano-ból (ATmega328p) Terminál programból már tudtam kommunikálni a GSM modullal (SMS-t küldeni/olvasni, hívást indítani/fogadni) és a GPS modul is szépen zúdítja az adatokat. A hardveres soros portot már használtam sokszor, azzal nincs gond. Természetesen a riasztóhoz szint illesztés és valami szünetmentes tápellátás esetleges akku saru leszedés ellen lesz majd, de az a jövő zenéje. Két dologgal van problémám. 1., -Az első, hogy a ATmega328p-nek csak egy soros portja van, így meg kell oldanom a GPS számára minimum a szoftveres soros RX oldalát. Hát ez nekem így újrakezdésnek kicsit nagy falatnak tűnik. Fizikus az egyik cikkében csinált szoftveres soros portot, erre emlékeztem, de ő meg pont csak a TX oldalt csinálta, pedig reméltem, hogy az ad egy támpontot. Ha ezen túl jutok, akkor jön a másik probléma, mely talán most kisebbnek tűnik. 2., -Az adatfolyam zúdulása után ki kell válogatnom a számomra hasznos adatokat (koordináták, sebesség, magasság, esetleg atomóra idő) Ha valakinek esetleg volna egy már leprogramozott szoftveres soros port ( 9600 bps 8 N 1 ) "driver"-e C-ben ATmega328p-hez, vagy volna kedve és ideje leprogramozni, vagy tovább berhelni amit én elkezdtem, szívesen megvenném vagy kompenzálnám megegyezés szerint. (nyilván azt már privátban) Ha nincs ilyenje senkinek és senki nem akar nekem "bérprogramozni" sem, akkor szívesen vennék majd valami segítséget, hogy merre induljak tovább, mert találtam a neten sok hasonlót, megpróbáltam berhelni, de nem értem el sikert, csak az időm ment vele... (AVR Studio 4.16 build 638 verziót használok WinAVR 20090313 4.3.2 verzióval, programozóm a Topi féle AVR-Doper) Köszönöm előre is a segítő válaszokat!
És ezt hova akarod elhelyezni, hogy ne találják meg?
GPS antennának látnia kel a műholdakat! Túl nagydoboz lesz az egész. Az első lesz, hogy ki tépik a kocsidból! Nagyon valószínű, hogy már a gk. tolvajtól vetted! A hozzászólás módosítva: Aug 2, 2016
Egyébként:
SoftwareSerial Library
A cucc, de minimum a GPS antenna a műszerfalba menne, mert a szélvédő a legmeredekebb üveg, tehát onnan lenne a legjobb rálátás. Az elsődleges nyilván az lenne hogy azonnal hív, ha riasztás van és onnantól küldi 20-30-40 másodpercenként a koodinátákat SMS-ben ilyen formában:
http://www.google.hu/maps/place/59°11.39363,017°37.48168 amíg nem inaktiválom ezt. Így ha bántják a verdát, már indulok is és ha esetleg mégis el tudják vinni, tudok menni utánuk taxival és rendőrség, vagy önbíráskodás... kinek-kinek vérmérséklete szerint. (A verda nem volt lopott, még a kb 20 éves szervízkönyv is megvan hozzá, egész sokáig vezetve, csak az előző tulajnak, aki a 12. ez volt az első, tanulós autója, ami főleg a kuplungon és váltón nagyon érezhető.)
Ha ez C-ben lenne, szuper lenne, de mint írtam, C-ben írom hozzá a programot.
Még a C sem használja ki igazán optimálisan a lehetőségeket amik ebben rejlenek, de az Arduino nyelv végképp elrejti... Nem akarok elkényelmesedni! Azért köszönöm!
Mivel úgyis szint illesztened kell a modulokat az AVR-hez (gondolom 5V-ról megy, míg a modulok 3V3-asok), használhatsz olyan IC-ket (line driver, pl.:74LVC541, 74LVC245) amelyekkel kiválaszthatod, hogy melyik eszköz kommunikálhat a hardveres porton (és mellette a szintillesztést is megoldja). Így megúszhatod a lassú és körülményes szoftveres port kezelést. A SIM modullal úgyis csak akkor kell kommunikálni, ha jelzi, hogy vmi esemény történt (pl. SMS jött) vagy ha te akarsz küldeni vmit.
Szerencsére csak a riasztó 12V-os riasztás jelét kell majd egy fesz.osztón és opto csatolón keresztül egy megszakítás portra kötni. A GPS és a GSM modul is 5V-on kommunikál. Gondolkoztam a hardveres soros port RX felének "osztozásán", de a bonyolultabbsága ellenére is a szoftveres sorosban látom a megoldást.
A GSM modullal fontos lenne az állandó kapcsolat, a GPS által ontott adatok közül elég időnként halászni. Lesznek más funkciók is. ADC-vel akku feszültség szint mérés, alacsony akku fesz. esetén tájékoztatás SMS-ben. SMS-re (a konnektoros parkolóhely miatt) indítható motor- és utastér előmelegítés. (Svédország, télen -25 - -30°C is akár)
Ha talán veszed a fáradságot, és bele nézel, amit linkeltem???
Rá jöttél volna, hogy az egész lib tök Cpp-ben van megírva! (Ennyit a segíteni akarásról! Érdemes? ) Én a riasztóról gondoltam, hogy lopot volt! És már meg is mondták hova szereld? Nem lessz nagy lecke a megtalálása! A hozzászólás módosítva: Aug 2, 2016
Talán vettem a fáradságot és ugyan igen nehéz megfelelő angol tudás nélkül (és megkopott programozási tudással, ami sosem volt magas szintű, ráadásul csak autódidakta) és ennek ellenére is elképzelhető, hogy én vagyok a hülye felületes ostoba bunkó, de akárhogy nézem amit linkeltél az az arduino.cc , az Arduino hivatalos honlapja, ahol az Arduino programozó felület kiegészítő LIB könyvtárról írnak, illetve egy másik az Arduino programozóhoz társuló Teensyduino program oldalára is visz link. Ezek mind az általam is használt AVR-GCC programnyelvhez hasonló, de egyszerűsített Arduino programnyelvhez íródtak. Amik nem, azok pedig csak ízelítők, nincs letölthető használható (és általam is megtalált) cucc.
A riasztót még otthon, Magyarországon vettem újonnan a http://www.autoriasztok.hu/ boltból. Egy riasztónál sosem az a kérdés, hogy ki lehet-e iktatni, hanem, hogy mennyi idő alatt. Ha kellőképpen szétbontod az autót és próbálsz gyári minőségben installálni és normális minőségben vissza szerelni mindent, akkor eltart egy darabig. Ezért mondtam, hogyha azonnal "telefonál" nekem a riasztáskor, akkor még tetten tudom érni akár a tettest, de ha mégsem, és a riasztót ki is tudja iktatni, meg tudom találni a kocsit...
Igen, sajnos mindenkinek van valami gyengéje!
Neked pl., hogy nem igen segítesz másoknak! Sajnos Lőrincze prof. sosem tanított, csak egy ostoba tanársegéd. Aki csak körmösöket osztott tudás helyet! A hozzászólás módosítva: Aug 3, 2016
A Google nálam is működik, nekem is ez volt az első találat (és ha jól vettem ki az úriembernek az www.avrfreaks.net-en pont ugyan ez a problémája mint nekem) és az ezen összegyűjtött linkek az első tíz találat között. Ezeket és még sok másikat letöltöttem és próbáltam a saját uC-re (ATmega328p) szabni, amit szintén még az első hozzászólásom mellé mellékeltem az eredetit és a szerkesztettet is.
Az nem működött. Valamiért, nem értem miért, de ezek mind az ATtiny (általában) 8 lábú családjához íródtak (mármint azért értem, hogy abban ha jól emlékszem, nincs hardveres soros port, de azt nem, hogy miért nincs az ATmega88/168/328/648-hoz...) A hozzászólás módosítva: Aug 3, 2016
Pedig ott van benne az : AVR_ATmega328P
Bővebben: Link AltSoftSerial_Boards.h
Természetesen be kel helyettesíteni a PIN számokat, a mega PORT.PIN értékeire. De aki programozni akar annak ezeket meg kel tanulnia! (Sajnos Arduinora közölnek legtöbbet, szükséges megérteni, és javítani!) A hozzászólás módosítva: Aug 3, 2016
Valahol a header elején létrehozol 1 ilyen sort:
Lényeg, hogy ahol szükséges látható legyen Ez után a fordító csak az ATmega328P-hez szükséges részeket fordítja be a programodba. Aztán meg kel keresni az előforduló arduinos hivatkozásokat, és le kel cserélni vagy át definiálni AVR C utasításokra vagy nevekre. Általában a fordító reklamál az ismeretlen nevekre, csak modósítani kel őket. A hozzászólás módosítva: Aug 3, 2016
|
Bejelentkezés
Hirdetés |