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 Idézet: „temperature=-46.86+175.72*data/65536;” uint16_t data; E deklaráció miatt a data/65536 mindig 0 lesz, hiszen data értéke max. 65535 lehet és az osztás egész osztás.
Idézet: „humidity=data*(125/65536)-6;” Hasonlóképen a (125/65536) mindig 0, mert egész osztást használ a fordító. humidity=(double)(data*125)/65536.0) - 6;
Köszi, eddig még nem jutottam el, de kijavítottam és ugyanúgy a build-ben ezt kapom:
A hozzászólás módosítva: Nov 22, 2015
Próbáldmeg, kihagyni ezt a sort: #include <inttypes.h>
Sajnos nem segített. Megkerestem a hibaüzenetben lévő fájlt, (kicsit más útvonalon találtam mint írta), de nem mond semmit a tartalma (melléklet)
Szerintem a winavr-t nem kellene már erőltetni,de valószínűleg ez a probléma és a megoldás.
Hozzáadtam a linker-hez a '-lm'-t de nem segített. Megnéztem a bmp085.c-ben van olyan függvény aminek az argumentuma tömböt kap. Az az érdekes, hogy külön a pára- és hőmérő (ezt én írtam, és az lcd.c-t) és külön a légnyomás (ez a Gironi féle könyvtár, én nem tudtam működésre bírni) lefordul hiba nélkül, de együtt nem.
A winavr-el mi a baj? Tudtok valami mást helyette?
Atmel Studio 7!
Úgy tudom ez csak Win10-el müködik?
Nem,Win7-től indul.Viszont telepítéskor érdemes odafigyelni,mit teszel fel,mire van szükséged,mert elég nagy a hely és gépigénye.
Köszi!
De HD44780 -ról van szó. PORT, azt elírtam, tényleg PIN kell olvasni. Hogy érted, azt, hogy nem fog működni? Az asm feltétel, nem én akartam... A hozzászólás módosítva: Nov 22, 2015
Itt nem biztos, hogy az idézett sorokkal van gond, hanem a könyvtárral. Mikor kikommenteled, akkor a könyvtár sem fordítódik bele, és nem ír ki hibát.
A könyvtár csak a légnyomáshoz van, azok a sorok nem használnak könyvtárat, legalábbis nem plusz könyvtárat, mint az lcd vagy a nyomásmérő.
Az enable kimaradt.Itt találsz példákat minden verzióra.
Kipróbáltam az esp-link nevű szoftvert.
Az alap probléma az, hogy nem akarsz minden vackot az USB portra rádugni. Ha mondjuk van 4A 20V táp, azt fizikailag a breadboard-on nem szívesen kapcsolod össze az USB-vel, mert valószínűleg a táp fog győztesen kikerülni zárlat esetén és a számítógép USB-je száll majd szét. Az esp-link-et arra találták ki, hogy AVR és ARM IC-ket ESP8266-tal lehessen Wifi-n keresztül programozni. Egy ESP-01-esre felraktam a legújabb firmware-t, ez képes resetelni is a mikrokontrollert és fel is varázsolja a kódot. Első látásra meglehetősen stabilnak tűnik, bár kell egy kis idő, hogy elinduljon (30 s). Persze miután az esp-link webszervere elindult, utána megy minden rendesen. Összekötöttem az Arduino-val is, néhány config módosítás után az upload az avrflash programmal wifin keresztül töltött fel mindent.
Sziasztok!
Szeretném megoldani, hogy a mintavételezésem leállítása real time működjön. Jelenleg ha 1 perc a mintavételezés ideje, akkor 1 percig nyomva kéne tartanom a nyomógombot, hogy biztos megálljon. Próbáltam ISR-be betenni a keypad beolvasást, de szenzor hibát jelez. ISR-en belül kéne beolvastatnom a keypadot és ha lenyomtam 'A' gombot (mintavétel leállítás) akkor return0 ?
A fő program nem tudja lekezelni a billentyűzet eseményt?
Magyarul a főprogram azonnal észleli, hogy lenyomtad a billentyűt, de amint az ISR feldolgozódik (1 perc múlva, akkor leállítja magát). Másik megoldás: a főprogramból szimplán azonnal lekapcsolod az ADC-t ADCSRA = 0-val. Az ADEN bit 0-lesz és teljesen tiltja az ADC-t. Nem kell megvárni a mintavételezés végét. A hozzászólás módosítva: Nov 23, 2015
Sziasztok. Szeretném megépíteni az AVR IV cikkben szereplő akkumulátor töltőt viszont nekem 1,2V os akkumulátoraim vannak 3000mah-ás az ebay-ről. Akkor én az áramkorlátozó ellenállás értékét 1,05V al számoljam mivel csak egy akkut akarok egyszerre tölteni? Így R=1.05V/0.1A=10.5 Ohm. Illetve a sönt értékét úgy számoljam, hogy R=1.2V/0.04=30 Ohm
AA méretben majdhogynem lehetetlen 3000mAh-t beleszuszakolni. Ha jó minőségű lenne az akksi, talán a 2600mAh meglenne, de 1$-ért ne várj, csak 1200mAh-t, vagy még annyit se.
Igen ezen már én is gondolkodtam, de kipróbálni, hogy hátha jó arra nem túl drága.
A fő program kezeli a keypad beolvasást.
Ebbe a kódba szeretném beiktatni a real time nyomógomb érzékelést.: Bővebben: Link A tied alapján csináltam, de valamiért nem működött:
Az ISR függvénynek nincs visszatérési értéke. A return 0 felesleges, leginkább a ne csinálj semmittel egyenértékű.
Vagy leállítod kompletten a timer1-et (TCCR1B=0), vagy hagyod járni és if-fel vizsgálod, hogy kell-e mintavételezni. A hozzászólás módosítva: Nov 23, 2015
Üdv!
Kíváncsi voltam, hogy nálam is elő jön e a hiba, de nálam gond nélkül lefordította a WinAVR. Ez alatt a két érték műveleteit értem. Melyik AVR-re írtad?
Szia!
Atmega328p-re írtam. Külön-külön projectben már használtam a két szenzort, úgy nekem is lefordult és működött is, most próbáltam egyesíteni a két programot és itt már nem engedi.
Tudom, hogy ez klón.
Valaki használt már ilyet? Használható? Minek a klónja, vagyis hol tudnám megnézni a rajzát? Majdnem annyiba kerül mint a chip magában. Lehet jó lenne a termosztát alapjaként, ha kikötöm a stabilizátort belőle. Hol köti meg a kezem a csupasz chip-pel szemben?
Nekem a linkkel az a problémám, hogy Atmega168-at használ, ami fele akkora memóriával bír, mint a 328. Ráadásul a két chip közel egy árban van, ezért nem venném meg. Keress 328P-set.
Én mindig előre szerelten veszem meg a cuccot csupasz chip helyett, de Arduino Nano R3-at. Kevesebbet kell szívni vele, a különbség annyi, hogyha tönkrevágod, az egész panelt kell eldobni (még nem sikerült). A Pro Mini annyiból jó, hogy van benne 5V stabilizátor, RESET gomb és kristály. A nano-ban meg USB csatlakozó és CH340G usb soros átalakító is.
Sziasztok!
Szeretnék kérni egy pici segítséget Tőletek! Van egy JTAG ICE-om, távol-keletről. Bővebben: Kép Továbbá egy atmega16A-m. A driver-t tavir.hu-ról töltöttem le. Viszont, amikor az avrstudio 4-ben, JTAG ICE-on keresztül kívánok csatlakozni a procihoz, nem hajlandó mást csinálni mint ezt: " target device did not return a valid JTAG ID" 3x raktam össze, figyelve a vezetékek helyes bekötésére. Adtam neki külső 5V-os tápot is, hátha... Továbbá 10k-s pull-up ellenállásokat, ahogy a kép is mutatja. Bővebben: JTAG bekötés Eszközkezelőben 9600 baudrate, és a studio-ban is 9600-as a baudrate a JTAG csatlakozásnál... Hol a hiba? A hozzászólás módosítva: Nov 24, 2015
JTAG nem látni processzor.
A Chip original, vagy már volt használva? Ha volt, akkor lehet hogy a JTAG le van tiltva rajta(fusebit). Esetleg külső kvarcra állítva és nincs rajta/kondihiba (alapban belső 1 MHzről jár a chip)
Volt már használva. De a JTAG be van pipálva, belső 1MHz-ről járt.
2 db m16-al is próbálkoztam, de mindkettőre ezt a hibaüzit kaptam.
STK500-al lehet vele beszélgetni, csak a JTAG nem akar valamiért... Az a bekötési rajz jó amit linkeltem?
|
Bejelentkezés
Hirdetés |