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   782 / 837
(#) RoliNyh válasza Hp41C hozzászólására (») Okt 15, 2017 /
 
Akkor azt hiszem, én el voltam varázsolva. Gondoltam naívan, ha rányomok a Read/Write parancsra, akkor az SCL vezetéken megy az órajel és a proc átáll arra, aztán a MOSI dróton megy az adat, végül a MISO vonalon ellenőrzi, majd leáll az órajel...

Na akkor kezdhetem bedrótozni a prototípus panelt...

Ha már itt tartunk, kérdeztem már két mások topicban is, de konkrét 100% -os biztonsággal senki nem tudott rá válaszolni.: Programozás erre van valakinek válasza?
(#) pont válasza RoliNyh hozzászólására (») Okt 15, 2017 / 1
 
A bootloader-ről nem tudok mondani semmit, de ha én elhasználom a reset lábat, akkor minden újraírás előtt, a fusebit doctoral nullázom az Attiny-t, ez 100%-os módszer.
(#) csabeszq válasza RoliNyh hozzászólására (») Okt 16, 2017 /
 
Az Attiny85 RESET lábát hobbi programozásnál nincs értelme tiltani. Ha kevés a láb, beraksz egy Attiny84-et, nem sokkal nagyobb, mint a 85 és +6 IO pinje van.

Ettől függetlenül a RESET lábat szokták nyomógombnak használni Attiny85-ön.

Az ADC működik akkor is, ha RESET vonal van PB5-re állítva. Ilyenkor a RESET feszültségét méred.

VCC - [dióda + vele párhuzamosan nyomógomb] - RESET

Amikor lenyomod a gombot, a RESET feszültsége 4.5V-ról 5V-ra emelkedik, ezt pedig ADC-vel mérni tudod. Ez a max, amit hobbi szinten érdemes Attiny85-tel kihozni.

Szerintem nincs értelme a RESET láb kapcsolgatásával és HVSP-vel idétlenkedni.
A hozzászólás módosítva: Okt 16, 2017
(#) Kovidivi válasza RoliNyh hozzászólására (») Okt 16, 2017 /
 
Lehet jobban jársz, ha te is törlöd HVSP-val az AVR-t, ha módosítani akarod a progit, mint ahogy mások ajánlották? A kész projektnél úgyis csak egyszer kell felprogramozni az AVR-t.
(#) RoliNyh válasza csabeszq hozzászólására (») Okt 16, 2017 /
 
Ha a reset láb él, és ráteszem a hőmérő szenzor kimenetét, ami 22 foknál kb1 V alatti feszültséget ad ki, folyamatosan resetben tartja a procit, és el sem indul. Először meg is szívtam vele, mert a szenzor be volt forrasztva, és nem tudtam miért nem működik. A szenzor kiforrasztása után rögtön jól működött. Így úgy néz ki, a resetet mindenképp tiltani kell, és szimpla bemenetre állítani. Másik proci használata nem megoldás...
(#) wbt válasza RoliNyh hozzászólására (») Okt 16, 2017 /
 
Mi a szenzorod? Mert ha valami passzív, akkor fordítva is be lehet tenni és akkor nem tartja RESET-ben a procot.
(#) RoliNyh válasza wbt hozzászólására (») Okt 16, 2017 /
 
Mcp9700 hőmérőszenzor...
(#) wbt hozzászólása Okt 20, 2017 /
 
LGT8F328-al valaki próbálkozott már?
(#) Topi válasza wbt hozzászólására (») Okt 22, 2017 /
 
Néztem már az Alpha 8F328P (ATmega328P alternatíva) mikrovezérlőt.

Igazából újra az a forgatókönyv, hogy látják a kínaiak, hogy miért drága és mi hiányzik az ATmega328-ból, és fogják magukat és készítenek egy "klónt", ami olcsóbb, jobb és strapabíróbb. A klón sértő, mert jobb mint a klónozott.

- DAC is van benne
- 1.024 / 2.048 / 4.096V-os belső referencia fesz.
- Deadtime-os PWM kiementek vannak
- DSC
- Max. 32 MHz

... De ha új mikrovezérlőre vágysz, inkább STM8-at javaslok.
(#) wbt válasza Topi hozzászólására (») Okt 22, 2017 /
 
Ez inkább már az ATXMEGA-ra hajaz, jó lenne, ha a DAC is lenne legalább 10 bit. A 12bit ADC nagyon szimpatikus meg a 32MHz. STM8-at is nézegettem, igazából nem láttam olyat benne, ami miatt át kellene nyargalni ATMEGA sorozatról. Program/fuse feltöltése érdekelt volna még, ha valaki már kikaparta a gesztenyét. Gondoltam, egy próbát megérne, megnyaggatni, mit is tud, mennyire pontos.
(#) vargham válasza Topi hozzászólására (») Okt 22, 2017 /
 
> De ha új mikrovezérlőre vágysz, inkább STM8-at javaslok.
Miért? Ha kicsi az ATmega328, akkor vannak sokkal nagyobb AVR-ek is, amikhez minden meglévő eszköz használható.

Ha pedig más, akkor ma már inkább 32 bit, amik közül az ARM dominál, közülük az STM32 szériából vannak egészen olcsó darabok, kiváló szoftverkönyvtár, és fejlesztőeszköz (IDE, fordító) támogatással.

Ha csak nem valami munka lenne, én nem kezdenék el ma egy 8 bites platform után megtanulni egy másik (elavult) 8 biteset.
(#) Topi válasza vargham hozzászólására (») Okt 22, 2017 /
 
Az STM8 bőven nem elavult, ez az információd nem tudom honnan származik, a Microchip-Atmel nem teljesen sikeres termékfúzió kapcsán még nagyobb erőre kapott mint bármikor.

STM8 sorozatgyártásra sokkal alkalmasabb mint az AVR. Sőt, HDMI CEC, CAN, LIN. Ezek STM8 felé billentik a mérleget. Persze a hobbi kategórián belül valóban nincs túl nagy különbség köztük, max annyi, hogy STM8 nincs DIP tokban, ennek is oka van. De tény, hogy, én is sorozatgyártásra több helyre inkább STM32F0-t terveztem be.
De STM32-t most ne keverjük bele a nyolc bites diskurzusba szerintem, mert ott egy belépő Cortex-M0 is már bőven több, mint a legtöbb mainstream 8 bites.

Mindamellett elkanyarodtunk a kérdező eredeti felvetésétől, tehát szerintem ezt ne itt tárgyaljuk meg.
A hozzászólás módosítva: Okt 22, 2017
(#) minimodel hozzászólása Okt 22, 2017 /
 
Adott egy ATMega328. A Timer1-en megvalósított 10ms-onkénti megszakításokkal szeretném szabályozni a timer0 és a timer2 PWM villogók frekvenciáját. Lehetséges ez?
(#) Kovidivi válasza minimodel hozzászólására (») Okt 22, 2017 /
 
Igen.
(#) rolandgw hozzászólása Okt 24, 2017 /
 
Új AVR-ek jönnek az új Studio frissítés szerint:
– ATmega4808, ATmega4809
– ATtiny1614, ATtiny3214, ATtiny3216, ATtiny3217
Dokumentumot még nem találtam, a header-be lehet belenézni.
(#) minimodel válasza Kovidivi hozzászólására (») Okt 24, 2017 /
 
Köszönöm, sikerült is véghez vinni a tervemet. Igaz, némi guglizás is kellett hozzá meg találékonyság. Két pulzáló led villog eltérö frekvenciával, épp, mint a régi mentökön.
(#) Kovidivi válasza minimodel hozzászólására (») Okt 24, 2017 /
 
Örülök, hogy sikerült! Gratula! Nem hittem, hogy 4 betű ekkora segítség, de legyen így máskor is, és akkor jól fogsz haladni minden projekttel!
(#) krauszkrisztian hozzászólása Okt 25, 2017 /
 
Üdv!
Ha valaki tudna AVR programozásról könyvet ajánlani, azt nagyon megköszönném!
(#) Massawa válasza krauszkrisztian hozzászólására (») Okt 25, 2017 /
 
Magyarrol nem tudok, nálam egy német vált be amikor ezzel kezdtem. Ez elérhetö angolul is a weben.
(#) wbt válasza Topi hozzászólására (») Okt 25, 2017 /
 
Igen, STM32 azért más dolog; ha találok valami új dolgot, ki szoktam próbálni (idő/kedv/ismerősök unszolósa arányában), ezért tapasztalatszerzés céljából próbáltam időt spórolni, ha valaki már sikerrel alkalmazta az LTG-t. Kipróbáltam én az STC 8051-et is, nagyon pörög, nem drága. STM32-t elkezdtem olvasni (apró tesztprogram TFT-re, kiderült, hogy a TFT driver IC hibás stb.) , csak kicsit zúgott a fejem a sok bittől/lehetőségtől (anno 10+ éve kinyomtattam a M128 doksit is (8cm) és végigolvastam, hogy tudjam, milyen lehetőségek vannak, no, STM32F407-nél már vakargattam a fejem), szóval az átállás 32-bitre azért nem olyan egyszerű, főleg, hogy az adott feladatok 90%-hoz ágyúval-verébre. (nem szoktam médialejátszót meg holdraszálló egységeket tervezni) ...és ahogy olvasom, ha valami nem akar működni, akkor igen csak össze kell szedni a lista tudását ("az xx bitet be kell kapcsolni ahhoz, hogy működjön, nem tudom miért, de csak így megy és a sorrend is számít"). Szóval nem ipari méretű tudás/költségoptimalizálás volt a kérdés, csak ki akartam próbálni és a kezdeti bénázásokat átugorni.
(#) rolandgw válasza krauszkrisztian hozzászólására (») Okt 25, 2017 /
 
(#) rolandgw válasza wbt hozzászólására (») Okt 25, 2017 /
 
Ha elég a belépő szint, javaslom az LPC845-öt CortexM0+, nemrég adta ki az NXP. Olcsó, könnyen programozható, mindenféle kódgenerátor nélkül, kb. XMEGA nehézségű. Ingyenes IDE: MCUxpresso. Egyedül az SC Timer bonyolultabb periféria, Event/State 16/32 bit timer, de van hozzá Cookbook, State generátor
(#) wbt válasza rolandgw hozzászólására (») Okt 25, 2017 /
 
Ránézek arra is. Jahhh, XMEGA-nál 1 sort nem olvastam el a leírásban...most csúzlival az elkészült panelekkel lövöldözöm. Szóval mindig bele tudok nyúlni Az LPC-től egy ismerős óva intett, de valószínű, csak Ő is beleszaladt valami félreérthető dologba (régen volt, valami DMA huncutság). A 32-bitesekben egyelőre az nagyon tetszik, hogy nem spórolnak a RAM-mal, van adattükrözés, de még mindig várom a blokkelforgatást (hát ha egyszer valakinek eszébe jut beletervezni)
(#) rolandgw válasza wbt hozzászólására (») Okt 25, 2017 /
 
A community az kis túlzással nulla, pár kínai NXP-s kószál arra, illedelmesen megköszönik az érdeklődésed, jobb esetben adnak használható információt is. Szóval sok mindent úgy kell összevadászni, bár én M0+-nál tovább nem léptem.A 11u68 is jó sorozat.
(#) csabeszq válasza Topi hozzászólására (») Okt 26, 2017 /
 
Nézegettem STM8-at, más mint az STM32, viszont nem láttam értelmét megtanulni.

A fő problémám az volt, hogy kevésnek tűnt a memória, meg nem is tűnt annyira jónak a periféria készlete, hogy megtanuljam. Nem tűnt jobbnak egy Atmega328P-nél.

Az STM32 megéri a fáradtságot, mert tényleg frankó.

Nem biztos, hogy igazam van a dologban, de STM32 alatt a gcc nem mondható kimondottan helytakarékosnak. Ha valami 100 byte AVR alatt, akkor 200 byte lesz STM32 alatt.

Lehet, hogy azért nagyobb a méret, mert 32 bites a proci, mindenesetre amikor a STM8S103F3P6 8k flash-ét láttam, akkor ugye: nincs az a...

Persze lehet, hogy nincs igazam.
A hozzászólás módosítva: Okt 26, 2017
(#) minimodel válasza krauszkrisztian hozzászólására (») Okt 27, 2017 / 2
 
Magyarul akad némi leírás a TAViR fórumon de az kevés. Èn német és angol könyvekböl, oldalakról és videókból tanulok. Persze az nagyon fontos, hogy ne csak bemásold a kódot és futtasd, hanem meg is értsed, majd saját magad is változtasd aztán jönnek majd a saját kódok. Közben minden tapasztalatom és megszerzett információm vezetem egy dokumentumban, ami már 44 oldalas. C#-ben programozok és néha síma mezei programozó magyar oldalakat is felkeresek, ha elakadok. Nekem többek között ez a könyv jött be a MAKE sorozatban.
(#) csatti2 válasza csabeszq hozzászólására (») Okt 27, 2017 /
 
Ha jól emlékszem te C++-ban programozol. C-vel jobb a helyzet, illetve használni kell az optimalizációkat is (viszont óvatosan, pl. a legerősebbnél elrontja az FSMC-s SRAM/LCD kezelést).

Az AVR nagyon jó választás az ATMega328p-vel bezárólag, ha annál nagyobb/gyorsabb kell akkor már inkább egy ARM alapú megoldás. Az ATXMega holtvágány, túl kevés és túl későn (és hozzátehetném, hogy túl drágán is).
(#) olika76 hozzászólása Okt 29, 2017 /
 
Kedves AVR programozók!

Egy olyan problémám van, hogy egy napelem töltésvezérlőn levő ATMEGA8-16AU vezérlőből szeretném kiolvasni a programot, majd egy ugyanilyenre visszaégetni. Mivel nagyon-nagyon régen programoztam (még hallgatóként, 20 éve) hasonló eszközt, sajnos sok mindent elfelejtettem. Eszközöm jelenleg nincs ehhez. A kérdéseim emiatt:

1. Találtam egy STK500-as programozót (USB-s), ez ugye jó ehhez? Típus szerint igen, de gondoltam hátha valaki tud jobbat ajánlani. Megépíteni nem szeretném, jobban bízom a kipróbált dolgokban.

2. A nyákra rá van forrasztva a vezérlő, a kiolvasáshoz feltétlenül le kell szedni a helyéről? Ha nem kell, akkor az eredeti nyáknak kell a bemeneti tápot adnia, vagy feltétlenül a programozónak kell ezt megoldania?

3. Hogyan kell megoldani a programozó és a vezérlő összekötését? Pl. forrasszak a megfelelő lábakra egy-egy vezetéket és kössem össze a programozó megfelelő tüskéjével?

Előre is köszönöm a segítséget!

Üdvözlettel: olika76
(#) Ivan93 válasza olika76 hozzászólására (») Okt 29, 2017 / 1
 
Szia! Mielőtt válaszolok a kérdésekre, fontos, hogy a mikrovezérlő másolásvédett lehet, nem biztos, hogy ki fogod tudni olvasni a tartalmát. Az STK500 jó hozzá, usb esetén driver is fog kelleni, illetve valamilyen szoftver (avrdude, avr studio, stb.). A nyákról nem feltétlenül kell leszedni. Ha a programozó lábakat nem használja, vagy az elektronika nem terheli őket, akkor maradhat a panelon. A tápot bármelyik eszköz adhatja, de lehetőleg csak az egyik. Mivel az eszköz fogyasztása túlterhelheti az usb-t, inkább az eredeti nyák táplálja. Az összekötéshez ráforraszthatod a vezetékeket a panelre. Ha véletlenül foglalatban lévő dip tokos az IC, akkor viszont jobban jársz, ha kiveszed belőle.
(#) vargham válasza olika76 hozzászólására (») Okt 29, 2017 / 1
 
> forrasszak a megfelelő lábakra egy-egy vezetéket
Ez egy jó terv.

Egyáltalán nem biztos, hogy ki lehet olvasni a programot. Valószínűleg letiltotta a készítő.
Következő: »»   782 / 837
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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