Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   604 / 838
(#) gtk válasza Droot hozzászólására (») Máj 14, 2014 /
 
Tudtommal csak CGRAM-bol, sajat karakterrel.
(#) Droot válasza gtk hozzászólására (») Máj 14, 2014 /
 
Szöveget írok be egy adott karakterről. A kurzor pozícióját szeretném jelölni. Esetleg más ötleted van hogy tudom a kurzor pozícióját jelölni? (2 soros és mind a 2 sor teli van, szóval felülről sem tudok nyilazni.)
(#) gtk válasza Droot hozzászólására (») Máj 14, 2014 /
 
Kurzorozni talan lehet, hogy ha a karakter nem foglalja le az egesz matrixot. De ezt adatlapbol kell kibogozni, fejbol sajnos nem tudom.
(#) Massawa válasza Droot hozzászólására (») Máj 14, 2014 /
 
Én a kurzort a villogással szoktam jelölni, azaz az a karaktermezö villog ahol a kurzor van. Ettöl még a karakter jol olvashato.

( kurzort egy sima koddal lehet ki ill. Bekapcsolni.)
A hozzászólás módosítva: Máj 14, 2014
(#) Droot válasza Massawa hozzászólására (») Máj 14, 2014 /
 
Az a baj hogy teljes string van kiírva, pl 31 karakteres és a 10-et módosítom, a kurzor a 32. karakteren lesz. Vagy rosszul gondolom?
(#) holex válasza sgt hozzászólására (») Máj 14, 2014 /
 
Na feléledt
A LED villogtatás már emgy
(#) Massawa válasza Droot hozzászólására (») Máj 14, 2014 /
 
Akkor 2 lépésben kell ezt tenned:
Kell egy kurzor pozicio változo -ami amugy is fog kelleni, ha ott valamit át akarsz irni
Tehát. Odeviszed a kurzort ahova kell ( pozicio 31), majd bekapcsolod a villogot.

Erre én 2 makrot irtam igy egyszerü kezelni.
(#) holex hozzászólása Máj 14, 2014 /
 
Valaki segítene fuse bitek beállításában? Sose csináltam még ilyet, nem akarom megfektetni az eszközt.

16 MHz-es kvarcról akarom járatni, SPI-vel szeretném programozni (-> kell reset láb), nem gond ha lassan indul el, watchdog egyelőre nem kell, bootloader szintén nem. Kell még valami infó? Nem tudom miket lehet még fuse bitekkel beállítani
(#) benjami válasza Droot hozzászólására (») Máj 14, 2014 /
 
A kurzort pozícióját a "Set DDRAM" paranccsal tudod beállítani, és látszódni is fog, ha bekapcsolod a kurzort a "Display on/off controll" paranccsal. Példát nézhetsz a cikkemben szereplő driver demo-cursor példájából.
(#) Massawa válasza benjami hozzászólására (») Máj 14, 2014 /
 
Én 2 regisztert a és b szoktam általában használni a display kezelésére.
Majd irok néhány makrot:
Kurpoza ( az a poziciora viszi a kurzort)
Kurpozb ( a b poziciora viszi a kurzort)
Flashon ( bekapcsolja a villogást)
Flashoff ( kikapcsolja a villogást)
Wrta - kiirja az a regiszter tartalmát az adott helyre

A két kurzor pozicio azért kellett, hogy egyszerübb legyen a kezelés. ( az a tartalmat a b helyre irni - vagy forditva). Persze lehet tovább kombinálni.
(#) holex hozzászólása Máj 14, 2014 /
 
Ugye jól sejtem, hogy a BOOTSZ0 és a BOOTSZ1 fuse biteknek semmi jelentősége nincs, ha a BOOTRST nincs beállítva? Egyébként ezek ugye azt jelentik, hogy mennyi helyet hagyjon ki a bootloadernek a flash memória elején és ez után kezdi el betölteni a programot?
(#) tursaba válasza holex hozzászólására (») Máj 15, 2014 /
 
Mi a uP típusa?
(#) Massawa hozzászólása Máj 15, 2014 /
 
Tudtok valahol AVR (ASM) rutinokat léptetö motorok egyszerüsitett vezérlésére. (nekem már megvan a vezérlö elektronika amibe csak STEP, DIR és EN bemenet kell).

Olyat keresek ahol elöre meghatározzák, hogy hány lépést kell egy adott idökeretben megtenni.

Kösz.
(#) Droot válasza benjami hozzászólására (») Máj 15, 2014 /
 
Köszönöm!
Sikerült! Elég korrekt megoldás.

Más:
  1. unsigned char WaitFor(char * rpy)
  2. {
  3.         while( (strstr((char *)RxBuffer,(char *)rpy) == NULL) && (USARTTimeOut > 2000 ) );
  4. ...


A fenti kódban az strstr függvényre ír 2 warning-ot.
Idézet:
„../core.c:37: warning: implicit declaration of function 'strstr'
../core.c:37: warning: incompatible implicit declaration of built-in function 'strstr'”

Kijavítanátok, hogy hogyan kell helyesen használni?
(#) Droot válasza Droot hozzászólására (») Máj 15, 2014 /
 
Hiba megoldva: a megfelelő header nem volt beillesztve...
(#) holex válasza tursaba hozzászólására (») Máj 15, 2014 /
 
(#) tursaba válasza holex hozzászólására (») Máj 15, 2014 /
 
1. Ext.Crystal/Resonator High Freq.;Start-up time:16K CK+64ms
2. serial program downloading (SPI) enabled

Ezeket jelöld ki pipával.
(#) holex válasza tursaba hozzászólására (») Máj 16, 2014 /
 
Köszi!
(#) steelgoofy hozzászólása Máj 17, 2014 /
 
Üdv!

Analóg/digitális konverzió használatakor, ha referencia feszültségként 3,3 V-ot szeretnék használni, Arduino Mega 2560 esetében biztonságos megoldás az ha csak simán összekötöm a 3,3 V-os kivezetést az AREF pinnel?
(#) kapu48 válasza Massawa hozzászólására (») Máj 17, 2014 /
 
Ha még nem ismered?:
Steppermotor controller with ATtiny13

Bővebben: Link
A hozzászólás módosítva: Máj 17, 2014
(#) Massawa válasza kapu48 hozzászólására (») Máj 17, 2014 /
 
Igen. Ezt már megépitettem.

A jelen projekt sokkal bonyolultabb. Ki kell számolnom mennyit lépjen és milyen idö alatt. Már ugy ahogy megy, de még botlatozom az átszámolásokkal. A baj az, hogy tul nagyok a tartományok és ha elérem a határt akkor egy más algoritmus kell.
(#) Massawa válasza kapu48 hozzászólására (») Máj 17, 2014 /
 
Kösz, ezt probáltam átrágni, de tul tudományosan állnak a dologhoz.
A célom nem ennyire bonyolult.
Kb. 2 határ között kell dolgoznom.
A leggyorsabb kb. 10 mp alatt tesz egy fordulatot ( 1:50 áttételnél ez 200x50/10 frekvencia 1000 Hz, ) a másik véglet meg 24 ora alatt tesz meg egy fordulatot.
(10000/86400=0,11 Hz)
Már kiderült, hogy ez tul nagy átfogás, ezért vagy egy ismétlö funkcio, azaz a 24 orát ugy is meg tudom csinálni, hogy az alaprutint 1 orára számolom, majd ezt ismétlem 24szer.
(#) yoman917 hozzászólása Máj 20, 2014 /
 
Sziasztok
Shift registerrel szeretnék 33db ledet működésre bírni. A probléma, hogy ha egyedül a 33. ledet akarom egyedül működtetni (kiküldöm rá ezt: 0b100000000000000000000000000000000), azzal semmi baj nincs, de ha már a többivel együtt akkor nem világít (ha bármelyik 0 bit 1). uint64_t-ként deklaráltam, és hiba nélkül fut le a program. Van valami korlátja az AVR-nek (Atmega328p), ami miatt ez nem sikerül, vagy elvben működnie kéne?
(#) yoman917 válasza yoman917 hozzászólására (») Máj 20, 2014 /
 
Probléma megoldva, hibás breadboard miatt volt a jelenség
(#) AMD hozzászólása Máj 21, 2014 /
 
Sziasztok!
Egyszerű kérdéssel fordulnék hozzátok.
Van egy letöltött hex fájlom amit AVR Dude programmal és USB ASP programozóval szeretnék beégetni egy Attiny 2313-as AVR-be. Meg is történik programozás, el is indul a proci. Gond csak az, hogy a rákötött 4MHz-es kvarc nem rezeg. Ezek szerint belső oszcillátorról megy. Egy bluetooth modul lenne rákötve és egy mikro szervót működtetne de nem teszi. Arra gondolok, hogy nem megfelelő frekin megy így nem jön össze a kapcsolat a modullal. A Topi féle nyolc lábbal című cikkekben megjelent kapcsolásokkal is próbálkoztam, de akkor sem megfelelő órajellel működtek a mikrovezérlők.
Kérdésem az lenne, hogy tudnám a fuse biteket átírni a WinAVR-ben. Gondolom a CLKDIV8 is be van kapcsolva. Hol tudnám ezt kikapcsolni?
Előre is köszönöm a választ!
Az előbb rossz fórum témába küldtem el ezt a hozzászólást, írtam egy moderáció kérelmet, de utána rájöttem, hogy ki tudom törölni. Így elveszett a hozzászólásom. Most bemásolom ide. Elnézést a kellemetlenségért!
(#) TavIR-AVR válasza AMD hozzászólására (») Máj 21, 2014 /
 
Fusebitekben állítható, az AVRDUDE segítségével.
(#) AMD válasza TavIR-AVR hozzászólására (») Máj 21, 2014 /
 
Hol találom azt az opciót?
(#) AMD válasza TavIR-AVR hozzászólására (») Máj 21, 2014 /
 
Letöltöttem az AVRdude gui v0.2.0 de még nem jöttem rá, hogy működik.
(#) TavIR-AVR válasza AMD hozzászólására (») Máj 22, 2014 /
 
fusebit high, fusebit low, fusebit extend értékeket add meg.
fusecalc
A hozzászólás módosítva: Máj 22, 2014
Következő: »»   604 / 838
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem