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
én nagyon amatőr vagyok (tekintve hogy még csak olvastam a dolgokról), de már vagy 200 helyen láttam leírva , hogy NEM működik úgy...
Sziasztok!
Egy kis segitségre lenne szükségem, hogy hogyan tudok összekötni két avr-t úgy, hogy bájtokat tudjak köztük küldözgetni oda-vissza majd a küldött adatoknak megfelelően vezérlni a lábakat. Az összeköttetéshez vezetéket szándékozom használni. Az adatátvitelt a lehető legkevesebb vezetéken szeretném megvalósítani. Nem szeretném használni az RXD és TXD lábakat. (Mert azok már foglaltak.) Olyan megoldást keresek ami nem igényel plussz funkciót az avr-ben, hanem a digitális portokat használja. Az egyszerüség és az ár sokkal fontosabb szempont az adatátvitel sebességgénél (bizonyos határok közöt (min 4bájt/sec)) A segitséget előre is köszönöm.
Milyen kornyezetben volt fejlesztve ?
Tedd fel a modositott kodot, majd leforditja valaki.
Vagy szoftveres SPI, vagy a beépített UART a lábak megváltoztatásával.
Vagy a direkt IC-k közötti kommunikációra kifejlesztett Inter IC kommunikáció...
Azaz IIC vagy másnéven I2C
Valóban nem, de jobban is jársz ha egyböl építesz egy usb-s programozót. PL ezt
Tápot is ad a programozandó cuccnak, így ezzel sem kell törődni, nagyon kényelmes. És ráadásul megy a legtöbb programozó szoftverrel.
Helló!
Lefordítottam neked 2048-al. Nem tudom neked miért nem megy, nekem nem ír ki semmi hibát. Amúgy le van írva hogy kell fordítani
Az I2C szimpatikus nekem, de sehol nem találtam hozzá használható leírást ami leírja a szoftveres részét c-ben is. Minden leírás vagy assembler vagy bascom, és minedn leírésban egy avr kommunikál egy perifériával, nem pedig két avr egymással.
Ebben tudnátok nekem segiteni (ha esetleg valakinek van)?
Sziasztok!
Szerintetek ezt a relét ráköthetem kövzetlenül a mega8 kimenetére ?
Nem. Kell egy tranyo, es a dioda a relere. Mondjuk bc337 kollector koreben a rele (rajta a dioda), bazisan 7.4-10K.
A kérdésem az lenne, Topi cikkéhez kapcsolódva (hála érte), hogy az itt lévő programozót, hogyan lehetne használni például az AVRStudioval? Sejtem, hogy ez nem valami komoly kapcsolás, de egyenlőre csak próbálkozni szeretnék...
Nagyon kérek mindenkit, aki látja ezt a témát, és ért is hozzá vagy kipróbálta, az írja le a gondolatait.
Sziasztok!
Nagyon szépen köszönöm Menyét! Egy kérdésem még lenne hozzád: az összes c és h fájlt egybefordítottad? Tehát az egész software mappában (inc és src) levő fájl össze lett gyúrva és lefordítva? Amikor én ezeket a fájlokat megnyitottam winavr-rel, és le akartam fordítani, akkor azt hiszem 2 hibát írt ki. De semmi egyértelműt nem, hogy hol a hiba. Még egyszer köszönöm! Remélem ez a hex jó lesz! Üdv!
Köszönöm a választ mindenkinek! Világossá váltak a dolgok. Tényleg nehéz kezdőként belecsöppenni egy ilyen témába, de a kitartó böngészés meghozta eredményét!
Helló!
Szivesen. Természetesen benne van minden fájl, én annyit csináltam hogy átírtam az 512őt 2048ra. Minden más maradt. Én a "makefile" fájlal fordítottam, parancssorból.
Hello!
Cikket írok, és nem akarok hülyeséget beleírni úgyhogy inkább megkérdezem. A gyári beállítás pl mega8 esetén a belső oszcillátornál 4 vagy 8 Mhz ? Én 8-ra emlékszem, de nem vagyok benne biztos, és az itthon lévőkben már mindben állítgattam. Köszi
Sziasztok!
ATTiny25-nél futottam bele egy banális hibára. AVR Doper-el akarom programozni, de ha 1MHz-re van állítva az órajele(8MHz RC + CKDIV8) akkor hibázik. Program egyáltalán nem megy fel, sokszor a "signeture" bájtok is hibásan jönnek át. 10MHz-es kvarccal, vagy 6.4 belső RC tökéletes, CKDIV8 ide vagy oda. Azaz 800kHz-en is jó volt. Az AVR Doper ISP frekvenciára is érzéketlen(56-450kHz), illetve a "slow sck" is hatástalan. Érdekes módon, csak ATTiny25-el van gond, ATTiny2313, ATTiny13, ATMega8-16-32 ezekkel foglalkozom főként, velük soha nem volt ilyen. Update: ATTiny2313 is produkálja a hibát, de csak 1MHz-en...
Az adatlapban benne van, hogy 1MHz.
Hali
Az lenne a kérdésem hogy
Szia!
Csinálj egy függvényt, ami for ciklusban szépen meghívogatja az USARTWriteChar fv-edet.
Ezután
Hali még1x
azt meg tudod mondani hogy hogyan tudom kiváltani
Hali lene egy olyan problémám hogy ez
Azert mert a ReadADC( ) nem ascii karakterlanccal ter vissza.
Itt egy, 16 szamjegyu szam atalakitasara alkalmas fuggveny.Bővebben: Link
Idézet: „ha küldök avrnek pl alma akkor olyan legyen mint ha gombot megnyomtam volna?” USART-on keresztul veszel egy stringet, ossze hasonlitod "alma"-val, es ha egyezik akkor a feltetel teljesul -- de had ne irjunk mindent meg helyetted
Hali nem értek kimondottan a függvényekhez de beillesztettem hogy hibát ne irjon ki de hogyan hivatkozzak rá hogy az ADC-ből csináljon számot és a csinált számot küldje ki uarton?
Persze egy értelmű hogy ne ti írjatok meg mindent helyettem csak az eddigi ismereteim sajnos nem terjednek ki a stringek és a függvények világába azért kérdezgetek róluk ennyit és gyakorlom meg probálgatom mi hogy s mint csak magyar dokumentáció róluk nem sok van angolul meg nem értek annyira de ha már itt tartunk valami tutorial szerűséget nem tudsz belinkelni nekem?
Angolul minimalisan kell erteni, a szaknyelvet. Es hasznalni a logikat. Ha ennyire nem ertesz a C-hez, akkor elobb tanuld meg, mert ez a projekted meglesz igy kezen-kozon, de a tobbit hogy fogod megirni? Van sok jo C konyv magyarul is,..
Ha bent van a fuggvenyed:
Köszi értem amit mondasz és meg is fogadom mert ez igy kész lesz de minden projektemet végigkérdezgetni nem éppen a legjobb megoldás, C könyvet milyet vegyek elég a sima C vagy borland C vagy C++ vagy mind 1 a lényeg mindbe benne van?
A gyári beállításnál a 8 MHz-es belső oszcillátort használja az AVR, de sok processzorban van CLKDIV8 fuse, mely alapból be van pipálva. Ezt azt jelenti, hogy a proci órajelét HW-esen osztja 8-al. Így a belső 8MHz-es oszcillátorból 1MHz lesz.
|
Bejelentkezés
Hirdetés |