Hirdetés

2024. április 25., csütörtök

Gyorskeresés

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-03-11 00:46:52

LOGOUT.hu

Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.

Összefoglaló kinyitása ▼

Hozzászólások

(#4101) robohw válasza Aryes (#4100) üzenetére


robohw
aktív tag

Itt van egy olcsó m3:

http://wiki.stm32duino.com/index.php?title=Ugly_board

itt meg egy lista:

http://wiki.stm32duino.com/index.php?title=STM32F103_boards

[ Szerkesztve ]

My own programming language: http://www.robomax.online

(#4102) Janos250 válasza robohw (#4097) üzenetére


Janos250
őstag

Van persze, nem is rossz az se, csak amit linkeltél, az 5050 Ft!
Szóval akkor így módosítom:
Akkor már inkább STM32 Cortex M0, M3, vagy M4 sokkal olcsóbban.

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4103) Janos250 válasza robohw (#4101) üzenetére


Janos250
őstag

Na, ez egy jó összefoglaló! :)

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4104) Janos250 válasza Aryes (#4100) üzenetére


Janos250
őstag

Igen, jelenleg az ARM STM32 vonal (M0, M3, esetleg M4, ..) az olcsó és jó megoldás, ami biztosan nem kárbaveszett munka, mert a magasabb verziójú procikon is mennek (általában) simán az alacsonyabbra írt programok. És nem utolsó szempont, hogy ARM!
A Cortexen a PWM hardver alapon egyszerűen megy, akár több is. Adott frekivel - ha kell - akár 4 különböző kitöltöttséget is tudsz timerenként.
Hardver alapon, nem kell interrupt. Ez nagyon hasznos, pl. ha valaki WS2812 pixelenként színváltós LED szalagot akar programozni. Elindítja a PWM jelet, és akár van valami interrupt, akár nincs, a PWM jel hossza nem változik.
Mindössze azt kell nézni, hogy lejárt-e már a 1.2 microsec, hogy küldhetjük a következőt. Nincs se delay, se interrupt, semmi. Korábban tetszőleges frekijű hardver PWM-re már írtam itt egy mintát.
A hang meg tipikusan I2S, de ezt csak elméletből mondom, mert ezen a proci típusom még nem próbáltam. Érdekes megoldás az I2S-re, amikor a már említett LED programozását is I2S-el oldják meg: a 0-át 1000-ként, az 1-et pedig 1110-ként küldik ki. Hasonló, mint az RLL kódolás a vincsesztereknél.

Nézd meg azt a listát, ami Aryes linkelt!

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4105) tvamos válasza Aryes (#4100) üzenetére


tvamos
nagyúr

Nem cserélgetik a kristályt! :((

(#4104) Janos250 válasza aryes (#4100) üzenetére
De amit ő irt, az nem ST, hanem Freescale... ja nem, NXP... ja, már Qualcommmmmm... ;]
De amúgy az ST ARM M3 procik voltak az elsők, az új M0+ procik sok paraméterben jobbak. (pl. fogyasztásban tuti.)

[ Szerkesztve ]

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#4106) robohw válasza Janos250 (#4102) üzenetére


robohw
aktív tag

Hát igen, való igaz, a hestore néha gyilkolni képes az árképzésével, de azt érdemes megemlíteni, hogy az arm boardok (és más boardok) esetében is, amit a proci köré raknak olykor, az megéri a plusz befektetést. :K

Én vettem 3900-ért Nucleo Cortex M4-est (stm32F411Ret6) és a board nem csak bivalyerős, de arduino kompatibilis és van rajta hw debugger is, valamint egy kód is járt hozzá amivel hozzáférhetek egy komoly, erre a procira kihegyezett kódbázishoz. :D

De van olyan board, ami tele van pakolva minden földi jóval, ugyanennyiért, vagy alig valamivel többért. :)

My own programming language: http://www.robomax.online

(#4107) Aryes válasza robohw (#4106) üzenetére


Aryes
nagyúr

És ez pl. mivel tud többet egy uno-nál? Hogy van esélye egy kezdőnek válogatni ekkora hatalmas választékból? :o

(#4108) robohw válasza Aryes (#4107) üzenetére


robohw
aktív tag

"És ez pl. mivel tud többet egy uno-nál?"

Hogy mivel? Hajjajjajj... :)

UNO:

32 kB flash
02 kB RAM
16 Mhz speed.

STM32F411:

512 kB flash
128 kB RAM
100-180 Mhz speed.

Ezen kívül még ezer és egy dologban. Gyakorlatilag egy pentium osztályú proci teljesítményét hozza. De ekkorára neked nincs szükséged.
Ehhez a feladathoz számodra még egy F103-as is elmenne (64 kB flash, 20 kB RAM (max), 48 Mhz).

[ Szerkesztve ]

My own programming language: http://www.robomax.online

(#4109) robohw válasza Aryes (#4107) üzenetére


robohw
aktív tag

"Hogy van esélye egy kezdőnek válogatni ekkora hatalmas választékból?"

Van a gyártóknak adattábla, ahol összehasonlíthatod az eszközöket. És az igényeidnek hozzávetőlegesen megfelelőt kiválaszthatod. Tudod, mekkora RAM kell, milyen speed viszi az adott feladatot, stb.
Az ST Micro elég jó cég, olcsók is. Már 2 rugó alatt vannak próba boardjaik.
Azért is érdemes őket választani, mert van a cuccaikhoz már szoftver. A Texas Instruments hasonló dolgaihoz még nincs, meglehet, nem is igen lesz.

My own programming language: http://www.robomax.online

(#4110) tvamos válasza robohw (#4109) üzenetére


tvamos
nagyúr

A Texas Instruments hasonló dolgaihoz még nincs, meglehet, nem is igen lesz.
Van hozzá szoftver! Csak nincs benne az Arduino frameworkben. Nem ugyan az!

(#4107) aryes válasza robohw (#4106) üzenetére
Vedd meg az ebay-en a legolcsóbbat, amit Janos250 ajánlott, az jó lesz!
Amúgy, ha nyanlánkság... abból mindig jön újabb, amit még nem támogat a framework.

[ Szerkesztve ]

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#4111) Aryes válasza tvamos (#4110) üzenetére


Aryes
nagyúr

Köszönöm srácok a sok segítséget!

Tegnap rájöttem, hogy vannak még kiaknázatlan lehetőségek, amikről nem tudtam, szóval nem is olyan rossz a helyzet, mint gondoltam. Ezt használja a light ir receiver lib, ezért tud mindennel együttműködni, a hagyományos ir lib viszont timer interruptot használ. Átirányítottam az analóg lábakra, azóta stabilan működik.

(#4112) Janos250 válasza Aryes (#4111) üzenetére


Janos250
őstag

Na, ez egy jó oldal :)
Különösen az, amire mutat:
http://www.gammon.com.au/interrupts
Ezt mindenkinek ajánlom !

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4113) Janos250 válasza robohw (#4106) üzenetére


Janos250
őstag

Nucleo Cortex M4-et én is vennék 3900-ért, de én sehol nem látok ennyiért. Hogy/hol lehet MOST ennyiért kapni?

[ Szerkesztve ]

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4114) tvamos válasza Janos250 (#4113) üzenetére


tvamos
nagyúr

En ingyen kaptam, csak baratkozni kell az ST-sekkel... meghalgatni a marketing bla-bla-t... ilyesmi.

[ Szerkesztve ]

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#4115) Gergosz2 válasza robohw (#4109) üzenetére


Gergosz2
veterán

A Texas Instruments hasonló dolgaihoz még nincs, meglehet, nem is igen lesz.

Hogyne lenne! CCS, végtelen leírás controlSUITE-ban stb.

(#4110) tvamos

De TI-nek is van egy Arduino framework szerű progija. Energia-nak hívják és jópár launchpad-et támogat is.

(#4113) Janos250

Farnell-től ~4200 Ft ha személyesen mész érte.

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#4116) Janos250 válasza Gergosz2 (#4115) üzenetére


Janos250
őstag

Kösz! :)

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4117) robohw válasza Janos250 (#4113) üzenetére


robohw
aktív tag

FDH-nál kapsz.
Budapesten a kiszállítás is ingyenes, bár érte is lehet menni.
A Gellért hegyre.

My own programming language: http://www.robomax.online

(#4118) Janos250 válasza robohw (#4117) üzenetére


Janos250
őstag

Köszi, már Gergosz is írta. Közel van, akár gyalog is.

[ Szerkesztve ]

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4119) Janos250 válasza Gergosz2 (#4115) üzenetére


Janos250
őstag

Én akkor gurultam be a TI-re, amikor - már jó régen - a TIRIShez alig találtam valami használható infót. Azóta "haragszom rájuk". Mellesleg még mindig van a fiókban egy marék TIRIS olvasó IC-m, de az már ott is marad.

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4120) Teasüti válasza Janos250 (#4080) üzenetére


Teasüti
nagyúr

A korszerűbb processzorok egyszerre több megszakítást is tudnak kezelni?
Hogy kell érteni?

[ Szerkesztve ]

(#4121) Janos250 válasza Teasüti (#4120) üzenetére


Janos250
őstag

Pl. több timer van, amik megszakítást is tudnak.

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4122) Teasüti válasza Janos250 (#4104) üzenetére


Teasüti
nagyúr

A Cortexen a PWM hardver alapon egyszerűen megy, akár több is. Adott frekivel - ha kell - akár 4 különböző kitöltöttséget is tudsz timerenként.
Hardver alapon, nem kell interrupt. Ez nagyon hasznos, pl. ha valaki WS2812 pixelenként színváltós LED szalagot akar programozni. Elindítja a PWM jelet, és akár van valami interrupt, akár nincs, a PWM jel hossza nem változik.

Erről kérhetnék egy kis magyarázatot?
WS2812-höz úgy tudom nem használunk PWM.et, a szalagnak van saját vezérlője.
A library viszont kikapcsolja a megszakításokat, amíg frissíti a szalagot, hogy semmi ne szóljon bele az időzítésbe.
Így viszont nincs megszakítás és ha ekkor bejön egy jel - mondjuk UART RX porton -, akkor az megy a lecsóba Atmel-en legalábbis.
ARM-en erre van esetleg vmi megoldás?
A WS2812 szalag miatt kérdem elsősorban, mivel erre épülnek a projektjeim. :R
Köszi!

(#4123) robohw válasza Gergosz2 (#4115) üzenetére


robohw
aktív tag

"Hogyne lenne! CCS, végtelen leírás controlSUITE-ban stb."

TVamos-nak is címzem:

Nem úgy gondoltam, hogy a TI kihozta a cuccait és ahhoz nincs a világon semmi, hanem úgy, hogy nincs hozzá megfelelő méretű kódbázis. Ha az arduino-ra rákeresel, millió dolgot találsz, projectek garmadáját, sőt, még jelentős redundancia is van. Az STMicro kontrollereihez is van már elég sok minden, de a TI nem büszkélkedhet ilyesmivel olyan nagyon. Az amatőr userek meg - nagyon okosan - olyan eszközt választanak, amihez vannak már cuccok. :C Ami köré csoportosulnak a supporterek, más feljesztők is.

Az atmel kontrollereihez vannak források, minta, vagy példaprojectek és az ST Micro-hoz is van már sok minden, de a TI cuccaiért nem állnak sorba, sokan még csak nem is hallottak róla, holott a TI meglépte azt, hogy a starter boardját 3-4 USD-ért árulta.

[ Szerkesztve ]

My own programming language: http://www.robomax.online

(#4124) fpeter84


fpeter84
senior tag

Sziasztok! STM32-n használ valaki sleep módot? Ahány projektet/library-t találok, minddel ugyanaz a bajom: valójában úgytűnik hogy egyik sem altatja, hanem inkább kikapcsolja teljesen a procit és visszatéréskor újraindul a program. Nekem arra lenne szükségem hogy meghívva elaludjon, a WKUP pin felhúzásakor pedig onnan folytassa a program a futását ahol fel lett függesztve. Most valamit én értelmezek nagyon félre, vagy hol lehet a probléma? Valaki használja olyan módon ahogy én leírtam?

(#4125) tvamos válasza Gergosz2 (#4115) üzenetére


tvamos
nagyúr

Nem láttam értelmét "Energia"-t pazarolni rá! ;] Nekem jó a CCS.

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#4126) Janos250 válasza Teasüti (#4122) üzenetére


Janos250
őstag

Hirtelenjében ez:
https://prohardver.hu/tema/arduino/hsz_3914-3914.html

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4127) Janos250 válasza Teasüti (#4122) üzenetére


Janos250
őstag

Még egy kis kiegészítés:
Beállítod a frekit úgy, hogy 1.2 microsec (ha jól emlékszem) legyen a periódusidő, a kitöltöttséget (emelt szint hossza) pedig aszerint, hogy 0 vagy 1 kerül kiküldésre. Kiküldesz 1 bitet, várod az 1.2 microsec lejártát (közben bármi történhet, az se baj, ha néhány microsecre hosszabbodik) és küldöd a következő bitet.

[ Szerkesztve ]

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4128) Gergosz2 válasza tvamos (#4125) üzenetére


Gergosz2
veterán

Én is így voltam vele. Kiakartam próbálni, de valamiért nem volt hajlandó felismerni a launchpadem.

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#4129) Teasüti válasza Janos250 (#4126) üzenetére


Teasüti
nagyúr

Na várj, még mindig le vagyok maradva ott, hogy WS2812 vezérléséhez nem kell PWM - mivel hogy az a szalagon van intergálva. :F
A led szalag library-k bitbang-elnek legjobb tudomásom szerint, valamint az se igazán látszik nekem, hogy ehhez az adatküldéshez miképp kapcsolódik a PWM vezérlés az MCU-n.
A kitöltési tényezőt variálja minden egyes bit küldésekor? Tehát ha jól értem, akkor úgy lövi be a frekvenciát és a kitöltési tényezőt, hogy megfeleljen a WS2812 specifikációjában szereplő 1 és 0 kód időzítésének. Vagyis egy adott setup-ban az MCU pwm vezérlője csak 1-eseket küld, másik setup-ban csak 0-kat. És két bit között folyamatosan változtatja a paraméterezést a szoftver? Ez nagyon perverz módszernek hangzik, még ha lehetséges is. Az MCU pwm vezérlőjének basztatásához nem kell a processzor? Vagy hogy lesz ebből "multitasking"? Teszem azt ha bejön egy megszakítás és az ISR végrehajtása közben megszakad az adatküldés, mert nincs idő basztatni a PWM vezérlőt? :))
Még mindig nem világos ARM-n például hogy lehet UART RX-en adatot fogadni, miközben egy WS2812 ledszalagot frissítünk. :B

szerk: amúgy köszönöm a fenti linkeket, meg is rendelek egy Maple Mini klónt. :R
Az F103C8T6 és az F103CBT6 van egy lényeges különbség ami említésre érdemes, legalábbis első ránézésre utóbbi kétszer akkora ROM-ja elég meggyőző. :K
DMA-t használta itt már vki adatfogadásra? ;]
Neten vajmi kevés infó van a DMA használatáról. :(
Pedig mekkora királyság lenne már megszakítás nélkül adatot fogadni! :Y

[ Szerkesztve ]

(#4130) Janos250 válasza Teasüti (#4129) üzenetére


Janos250
őstag

"És két bit között folyamatosan változtatja a paraméterezést a szoftver? Ez nagyon perverz módszernek hangzik, még ha lehetséges is."
Némileg az.
"Az MCU pwm vezérlőjének basztatásához nem kell a processzor?"
De, kell. A bit küldés indításhoz. Egy adott bit küldésének a megkezdése és következő közötti idő elég ahhoz, hogy a megszakítások lekezelésre kerüljenek.
A 72 MHz olyan, mint a 640 kByte: "mindenre elég" :)
"hogy lesz ebből "multitasking"? "
Igazi multitasking ebből sehogy. Még olyan se, mint pl az ESP8266-on a loop1, loop2, stb. módszer, ahol minden wait, vagy "wait" átadja a vezérlést a másik loopnak.
"Teszem azt ha bejön egy megszakítás és az ISR végrehajtása közben megszakad az adatküldés, mert nincs idő basztatni a PWM vezérlőt?"
De, van idő. Nem szakad meg, mert a hardver csinálja. Csak az indításhoz kell a proci. Az indítás után min 1.2, max néhány microsec idő van. Olyan megszakítást persze nem bír el, ami néhány microsecnél hosszabb.
"kétszer akkora ROM-ja elég meggyőző."
Így van!
DMA ügyben azok válaszoljanak, akik jobban értenek a témához, mint én.

[ Szerkesztve ]

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4131) Teasüti válasza Janos250 (#4130) üzenetére


Teasüti
nagyúr

Egy adott bit küldésének a megkezdése és következő közötti idő elég ahhoz, hogy a megszakítások lekezelésre kerüljenek.
Tehát ha jól látom a dolgot, akkor ez annyival nyújt többet a bitbang-nél, hogy a proci addig malmozik és lekezeli az ISR-t, amíg két bit között eltelik némi idő.
Na várjunk, a programban ez hogy működik? Bitbang-nél ugye delay-ek vannak a LOW és HIGH értékek között és ugye ki van lőve a megszakítás az időzítés miatt.
Ennél viszont ezt hogy lehet kivitelezni delay nélkül? Gondolom a loop() nem fogja átugrani az első bit után az adatküldést a következő részre a programban, szóval mit fog csinálni két bit között? Ugyanúgy delay-ezik, nem? Csak az egyik port húzogatása helyett a pwm vezérlőt buzerálja (ami amúgy időben gyorsabb volna, mint egy portot felhúzni HIGH-ra?), de a köztes időben épp úgy malmozik, mint a bitbang-nél?
Egyelőre csak annyit értek ebből, hogy nem kell kikapcsolni a megszakításokat, mert izomból megoldja a köztes időben az ISR-t. De akkor ez az idő nem lenne ugyanúgy elég bitbang esetében is (nem tudom melyik művelet gyorsabb)? :B

(#4132) Janos250 válasza Teasüti (#4131) üzenetére


Janos250
őstag

"Ennél viszont ezt hogy lehet kivitelezni delay nélkül?"
A delayt ugyebár mellőzni szoktuk, helyette valami hasonlót alkalmazunk:
https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
Pontosság növelése érdekében a proci órajelét számláló regiszter tartalmát figyeljük a millis() helyett.
Itt annyi a könnyebbség, hogy a magas szint hosszát nem kell figyelni, mert azt a hardver elintézi, csak a ciklus végét kell nézni.
Ebben jóval nagyobb a tolerancia, mint a magas szint hosszában.
Persze lehet halmozni az élvezeteket, és az előre összeállított adatok kivitelét interruptal megoldani: amikor vége a ciklusnak, interrupt, és egy újabb bit.
Vagy a magas szint lejártára interrupt, mert akkor már "feltölthető a következő bit", és akkor mehet folyamatosan a PWM, nem kell bitenként újra indítani.
Lehetőségek tárháza bőséges, csak a fantázia szab határt.
"De akkor ez az idő nem lenne ugyanúgy elég bitbang esetében is (nem tudom melyik művelet gyorsabb)?"
De, csak akkor a magas szint idejét is figyelni kell, ami sokkal precízebb időzítést igényel, mint a két egymást követő bit időzítése. De megoldható, persze. Vagy akár ezt is interrupttal intézed.

[ Szerkesztve ]

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4133) Teasüti válasza Janos250 (#4132) üzenetére


Teasüti
nagyúr

Aha, kezd összeállni a dolog. :R
Viszont azt megnézném hogy hozod össze delay nélkül mikroszekundum szinten a dolgot! :P
Mondjuk 1. bit elindít, majd van x uS-od a következő bitig. Kettő között mit csinálsz? A loop() biztos nem lép tovább, amíg be nem fejeződött a frissítés...
Mert ha bejön egy megszakítás, akkor oké az lemegy, de amúgy meg csak malmozol amíg végzel a szalaggal.
Vagy itt is van már loop1, loop2, stb? Kérdéses mi hasznosat lehet csinálni ezekben a hangyaf.sznyi időszeletekben. :F Komolyabb számításba tuti nem lehet belekezdeni.

[ Szerkesztve ]

(#4134) Janos250 válasza Teasüti (#4133) üzenetére


Janos250
őstag

"Kettő között mit csinálsz?"
Semmit, várom az idő múlását. A mikrokontrollerek az idejük döntő részében ezt csinálják: várnak
"Vagy itt is van már loop1, loop2, stb?"
Még nem találkoztam vele.
"Viszont azt megnézném hogy hozod össze delay nélkül mikroszekundum szinten a dolgot!"
72 MHz órajelnél 1 microsec az 72 utasításnyi idő. Van regiszter, ami az "órajeleket számolja".
Ezért indításkor letárolom, hogy éppen hol tart, majd figyelem, hogy a pillanatnyi és a letárolt különbsége mennyi.

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4135) tvamos


tvamos
nagyúr

Van olyan STM32-es board, ami tud 9 szinkronizalt PWM-et? (Az sem baj, ha 10.) Nem kell a framework...

[ Szerkesztve ]

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#4136) Janos250 válasza tvamos (#4135) üzenetére


Janos250
őstag

Én csak a négyesével szinkronizálást tudom, de várjuk a profik válaszát.

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4137) tvamos válasza Janos250 (#4136) üzenetére


tvamos
nagyúr

Kaptam is gyorsan egy NUCLEO-F401RE-t, azt mondja a kollegam, kettesevel lehet szinkronizalni a szamlalokat. Nem tudom, hogy ez igaz-e, de remelem ugy van. Akkor lehet 8 szinkronizalt PWM.

[ Szerkesztve ]

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#4138) Janos250 válasza tvamos (#4137) üzenetére


Janos250
őstag

Várjuk a tapasztalat megosztását! :)

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4139) tvamos válasza Janos250 (#4138) üzenetére


tvamos
nagyúr

Nagyon betyar a DMA-s vezerlese a PWM-nek, azt mar kiprobaltam. (De egyenlore csak 1 PWM csatornan.)
Nem talaltam Arduinora megoldast, ugyhogy IAR-ral nyomom ezt most. Mondjuk, most az orosz ST ajanlott valami ingyenes, limit mentes fejleszto kornyezetet, majd lehet, hogy kiprobalom, ha lesz idom.

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#4140) Janos250 válasza tvamos (#4139) üzenetére


Janos250
őstag

Én amondó vagyok, hogy a proci spéci dolgainál nem nagyon látom értelmét a környezet saját dolgait kihasználni, mert:
Először kikeresi az ember a manuálból, hogy melyik regiszterbe mit kell betölteni. Utána két lehetőség van:
1. Egyszerűen az adott cím(ek)re kiírjuk az adott érték(ek)et, és örülünk ha működik.
2. Megkeressük, hogy az adott környezetben mit minek neveznek, és az adott nevekkel, módszerrel állítjuk be a regisztereket.

Ha valaki ezt foglalkozásszerűen napi 8 órában csinálja, természetesen a 2. módszer sokkal kényelmesebb. de ha valaki amatőrként (mint pl. én) csinál ezt-azt, akkor a 2. módszer csak plusz macera az elsőhöz képest. Mindamellett, ha közben átállunk egy másik környezetre, minden kezdődhet elölről.
Segítség ugyan, hogy gyakorlatilag mindenki az STM által közreadott fejlesztő környezet dolgait integrálja a sajátjába, de azért ez mégiscsak macera.
"Nem találtam Arduinora megoldást, úgyhogy IAR-ral nyomom ezt most"
Na, - többek között - ezért választom én inkább a regiszterek közvetlen írását, mert az minden környezetbe változtatás nélkül átvihető.

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4141) tvamos válasza Janos250 (#4140) üzenetére


tvamos
nagyúr

Az ST peldaprogramok nagyon jok, meg a HAL is, szerintem iszonyat melo egy ilyen RAM-DMA-PWM jatekot regiszter szinten kezelgetni. Mindig azt erdemes hasznalni, amit a legegyszerub. Azert irtam az IAR-t ide, mert sokkal-sokkal egyszerubb, es gyorsabb volt ez, mintha az Arduino frameworkben molyolok. (Jelen esetben 2 ora alatt meg is volt, a frameworkben nem hiszem, hogy egy het alatt, napi 2-3 oraban elkeszult volna. Nem talalok semmi DMA kezelesi peldat Arduinora.)

Persze, ha az ember napi 8-10-12 oraban csinalja, a munkahelyen, akkor ugye azzal kell dolgozni, ami a munkahelyen standard. (En pl. hw fejleszto vagyok, ide toltak az arcomba az orkedet, ezzel kell csinalni. Persze, a sw itt IAR-ban keszul, ami jelen esetben, mondhatjuk, szerencse...)

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#4142) robohw válasza tvamos (#4139) üzenetére


robohw
aktív tag

Nézz el ide:

[link]

Nem kell semmi toolchain, se vergődés librarykkal. Online szerkeszted a kódot, a szerver fordítja, hibajegyzéket készít, projectek között válogathatsz, minden amit akarsz, csak a cél-boardodat kell megadnod.

My own programming language: http://www.robomax.online

(#4143) tvamos válasza robohw (#4142) üzenetére


tvamos
nagyúr

Koszonom az otletet!

Probaltam ugy egy eve, nekem nem jott be, sok a limitacio.
(Meg oreg vagyok, maga a web-es fejlesztes sem jon be.)

[ Szerkesztve ]

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#4144) Janos250 válasza tvamos (#4141) üzenetére


Janos250
őstag

Persze, profik ne arduinot használjanak.

Viszont az amatőr csak akkor tudja, hogy mint jelent pl. a
htim3.Init.Prescaler = 0;
ha előtte megnézte a manuálban, hogy mi az a prescaler.
Akkor viszont már ez is egyszerű:
*((volatile uint32_t *) (baseaddress + 0x28)) = 0 ;

Persze, ha utána újra hasonló programokat kell írni, akkor sokkal könnyebb fejben tartani a Prescaler nevet, mint a 0x28 számot.
Igen, persze a HAL-ban mindennek neve van, nem kell a számokkal tökölni.
De ha az STM32CubeMX-et használjuk, akkor még grafikusan is megszerkeszthetjük. Ha tudjuk, hogy mit!
Mellesleg ez is egy C (C++) programot generál, amit utána bármilyen környezetben használhatunk.
Igaz persze, hogy az arduino elterjedt STM32masterje a Maple könyvtárát használja.
"Nem találok semmi DMA kezelési példát Arduinora"
Nem arduinora, hanem STM32 procira kell keresni. Az minden környezetben használható, mivel C (C++)

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#4145) bardi


bardi
aktív tag

Arduino micro pro-n jól látom, hogy nem megoldható a 12 bit-es felbontás analóg bemenetnél? Arduino Due meg Zero-n úgy látom be lehet állítani 10 bit-nél magasabbra.

'92 Honda VFR 750

(#4146) Gergosz2 válasza bardi (#4145) üzenetére


Gergosz2
veterán

Azok hardveresen is tudják a 12 bitet, a többiben csak 10 bites ADC van. Ettől függetlenül az összeset beállíthatod mondjuk akár 16 bitesre is, de ekkor értelemszerűn az extra biteket 0-val tölti fel.

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#4147) tam@s


tam@s
tag

Sziasztok!
Tud valaki ajánlani egy kezdőkészletet? Ismerkednék ezzel az egésszel, de elvesztem a rengetegben. Ilyesmire gondoltam, de ebayről biztos olcsóbb?!
Ez, vagy ez esetleg jó lehet? Vagy van jobb?

(#4148) robohw válasza tam@s (#4147) üzenetére


robohw
aktív tag

A banggood-os több mint jó, ennyiért meg még nem is drága.

My own programming language: http://www.robomax.online

(#4149) tboy93 válasza tam@s (#4147) üzenetére


tboy93
nagyúr

Mindegyik draga. En most rendelgettem ossze magamnak a cuccokat, ebayrol maga az ardu uno 750ft volt, utana meg alirol 50-250Ft-ert egyesevel berendeltem mindent ami kell, fele annyibol megusztam kb mint ezek a pakkok :U Egyetlen hatranya, hogy 20 kulon csomagot kell várnom :DDD

[ Szerkesztve ]

(#4150) robohw válasza tboy93 (#4149) üzenetére


robohw
aktív tag

És szerinted ez, ahogy te csináltad, úgy jobb?

A banggod csomagja 6 rugó alatt van, benne van minden ami kellhet indulásnak és egy öszegben érkezik meg.

My own programming language: http://www.robomax.online

Copyright © 2000-2024 PROHARDVER Informatikai Kft.