Fórum témák
» Több friss téma |
Sziasztok.
Nem szeretnék új topikot nyitni, ezért ide tenném fel a kérdésem. A kérdésem BBC Micro:Bit-el kapcsolatos. Szeretnék 2 DC motort és egy szervó motort meghajtani, de falakba ütköztem. Külön-külön működnek, de együtt "összeakadnak" a PWM jelek. A DC motorok egy Cytron Maker Drive motorvezérlőre vannak kötve, aminek igazából 4 PWM kimenet kell és ehez párosul még egy szervó. Amikor a szervót elindítom a DC motorvezérlő megbolondul. Sajnos a Microbit leírásában nem talátam arra utalást, hogy a PWM kimenetek hardveres vagy szoftveres módon vannak előállítva. Ha esetleg itt valaki foglalkozott már eme "játékszerrel" és tudna ebben segíteni, annak nagyon hálás lennék. Pontosabban a kislányom, mert a suliban Ő kapta ezt a feladatot. A problémát egy kicsit nehezíti az is, hogy ezt Microsoft MakeCode -ban kell neki megírni.
Srécok, MISO MOSI mindig megkever.
MISO -> SPI OUT MOSI -> SPI IN Ha van egy SPI-s periféria, meg kell cserélnem a kettőt bekötésnél? Tehát MISO megy az SDI-re és MOSI megy az SDO-ra? Vagy egy az egyben, ahogy írva van? PIC-nél cserélni kellett, ezért van a keveredés állandóan a fejembe. Köszi.
Értelmezni kell, mit is jelent az MISO, MOSI?!
MISO -master input, slave output MOSI - master output, slave input Ebből elég egyértelmű azért, hogy mit, hová kell kötni?! Nyilván kimenetet csak bemenetre köthetsz, és fordítva! A hozzászólás módosítva: Feb 22, 2023
Semmi cserélés nincs. Ez nem UART, hanem kétirányú bit shift.
MOSI=Master Out Slave In -> Erre kötöd a slave SDI-t, ami a Slave Data In rövidítése. MISO=Master In Slave Out -> Erre kötöd a slave SDO-t, ami a Slave Data Out rövidítése.
Annyival még kiegészíteném, hogy "half duplex master" módban a MOSI lesz a kétirányú láb, "half duplex slave" módban meg a MISO. Eddig LCD kijelzővel találkoztam ami ilyen módon működött.
Köszi. Így csinálom, csak mindig megkever.
Csatoltam egy képet. Ilyen esetekben keveredek meg. A képen a Slave oldal látható, SPI2_XXX a Mester oldal. A hozzászólás módosítva: Feb 22, 2023
Mert nem a net neveket kell nézni, ami nyilván tetszőleges lehet, hanem a láb funkcióját, ami viszont fix!
Nah igen, ez is igaz.
![]() Köszi, utána nézek még is melyik melyik. 6. az SDI, akkor jó a bekötésem. A hozzászólás módosítva: Feb 22, 2023
Srácok, bele ütköztem egy problémába, hátha volt már valakinek ilyen és emlékszik hogy oldotta meg. STM32F072C8T6 MCU-t használók belső CLK-t állítom az ajánlott 48MHz-re. A program elindul, majd mikor LED-et akarok villogtatni, a HAL_Delay() függvénnyel, akkor a HAL_GetTick() vizsgálatnál elszáll az egész. Pontosan itt:
Csak ledvillogtatás az egész program? Ha nem, akkor első körben érdemes a "Minimum Stack Size" nagyobbra állításával a verem méretet megnövelni.
Igen, egyelőre csak a LED villogtatás, de perifériák be vannak állítva, de nincsenek használatban. SPI1-2, UART, I2C, RTC.
Csináltam egy teljesen új projektet, megdupláztam stack-et, de semmi nem változik.
Idézet: Most már csak kizárólag a LED villogtatás lenne benne, de pillanatra felvillan a LED aztán néma csönd. fenti probléma jön be a képbe. „Program received signal SIGINT, Interrupt. 0x1fffca70 in ?? ()” A hozzászólás módosítva: Márc 8, 2023
Boot láb(ak) jól vannak beállítva? Ez a memóriacím a "boot from System Memory"-ban van.
Érdemes megnézni, hogy az stm32f0xx_it.c-ben a Systick_Handler-ben a HAL_IncTick() meghívásra kerül-e?
Ha viszont FreeRTOS-t használsz, alapból a TIM6 a HAL időalapja. Ekkor a stm32f0xx_hal_timebase_tim.c-ben növeli az értéket:
Én leginkább F4-L4-et és F7-et használok, emlékeim szerint volt a CubeMX-ben olyan hiba hogy a kódgenerátor kihagyta a HAL_IncTick() meghívását az aktuális HAL időalap megszakításkezelő rutinjából. Esetleg engedélyezve van az időalap (SysTick vagy TIM6 vagy ami be van állítva) interruptja, prioritása megfelelő? A hozzászólás módosítva: Márc 8, 2023
Igen, teljesen jó a bekötés. Egy másik programot fordítottam, nem tudom mi változott, most ezt nyomozom le, mert most elindult rendesen a program.
Melyek ezek a lábak? Lehet utána néznék. A hozzászólás módosítva: Márc 8, 2023
Igen, meghívódik rendesen. Nem használok FreeRTOS-t.
Most nyomozok kicsit mert most pár új projektet csináltam és az egyik működik. Nem értem mi változott, most azt próbálom nyomozni. Nah most már az sem megy. Nem tudom mi történt, az előbb ment rendesen most tisztítottam a projektet, újra fordítom és annyi neki. A hozzászólás módosítva: Márc 8, 2023
Boot0 lábat mindenképp 0-ra kell húzni.
Ohh, azt nem húztam 0-ra. Lebeg. Majd legközelebb kipróbálom, mert szerencsére kihoztam a PIN-t ráadásul úgy, hogy tudom JUMPER-elni.. Most úgy ahogy elindult azért a program, de folyamatosan random elhasal. Remélem csak ez a gond. Köszi.
Köszi, ez volt a gond. Lebeget és néha jó volt néha meg nem. 10K ellenállás földre húzva megoldotta a helyzetet. Köszi még egyszer.
Srácok valaki foglalkozott már CC1101-es RF modullal, STM32-es MCU-val? Egy kis segítség kellene a konfigurálásba. Köszi. (manuál nekem is meg van, köszi..
![]()
Nem, nem is szeretnék, de találtam itt valamit, ami esetleg segíthet rajtad.
Igen-igen. Köszi. Talán elsők közt találtam rá, ez alapján indultam el elsőnek, de sajnos hibás a kód nagyon sok helyen, és nem csak szemantikailag, hanem konkrétan alapjaiban. A definíciók használhatóak belőle illetve tanulni jó volt belőle. Már írtam közben egy sajátot, ami jól működik, most kínlódok a rádiójel befogással, de ez már nem ide tartozik..
Sziasztok! Köszönöm a segítségeket. Végül persze az az út jött be, amire a legkevésbé számítottam. STM32 Bluepill. Igen, bootloadert kell rá tenni. Az elvvel nem is volna baj, de egyik programozó sem ért egy fabatkát sem, hiába vettem meg. A végén egy sima FT232RL-t tartalmazó még a Parallax propellerhez vett soros porti átalakítóval sikerült rácsatlakoznom a 9-es és 10-es lábakra. Na ott és a Cube MX segítségével sikerült feltennem a bootloadert. Igaz megizzadtam, mikor melyik jumpernek hol kell állnia... Úgyhogy ST-Link V2 J-link és Ulink 2 pont nem volt jó semmire. Végül egy Arduinós bootloadert sikerült rátöltenem ami működik is. És végre felment a Blinking szoftver is. Sok mikrokontrollerrel találkoztam már, de ez volt a legszivatósabb és még csak nem is a saját IDE környezetét használtam fel. Kicsitt megcsappant a lelkesedésem. Remélem kárpótol a mikrokontroller nyers ereje.
Idézet: „Igen, bootloadert kell rá tenni.” Miért is? Milyen speciális igényed van, amit a saját, ROM-ban tárolt bootloadere nem tud kielégíteni? Idézet: „egy sima FT232RL” Ez egy USB soros port. Idézet: „sikerült rácsatlakoznom a 9-es és 10-es lábakra” Hogy használd a beépített bootloadert. Idézet: „Cube MX segítségével sikerült feltennem a bootloadert” Valami nem kerek. CubeMX NEM tud mikrokontrollert programozni. Ez mind eredti volt? Ha nem, az persze gond lehet. A klónok nem mindig működnek jól, és az eredetiket gyártó cégek is küzdenek ellenük. Idézet: „még csak nem is a saját IDE környezetét” Miért is nem azzal kezdted? Kitaposott út. Idézet: „STM32 Bluepill” Ezek után felmerült bennem a gyanú, hogy biztosan STM32? Az elmúlt években többször is próbáltam bluepillt venni, de vagy hamis MCU volt rajta, vagy klón. Egyik sem működött pont úgy, mint az eredeti. Amúgy azt ajánlom, vegyél egy Nucleo-t. Olcsó, garantáltan eredeti, és van rajta programozó/debugger. Kezdd azzal a fejlesztést. Ha már minden működik, akkor menj át bluepillre vagy saját elektronikára.
Akkor részletesebben: Igen, kínai bluepill, mert az az olcsóbb változat. Igen, van rajta soros port kezelő szoftver - ez rendben van. Nekem kifejezetten arduino-s bootloader kellett, mert arra tűnt egyszerűnek átállni. Ami persze nem így van, ahogy a gyakorlat mutatta. De ez az egy módszer működött is a valóságban. Ami nem működött, az a 3 felsorolt eszköz, amivel egyáltalán nem tudtam SEHOGY kommunikációra bírni a Bluepillt. Természetesen mindegyik kínai beszerzésű, de mást is vásárolok onnan, ami működik gond nélkül és ezzel a bootloaderrel is működik. A privát fejlesztéseim elég szűkös anyagi büdzsével mennek, így ez maradt.
Az a baj ezekkel a kínai klónokkal, hogy sosem tudod hogy mit kapsz!
Mindig van valami újítás, új klón, valamilyen uC-vel, amire bármi is lehet szitázva, ami teljes bizonyossággal nem hívható az ismert fejlesztői panelek egyikőjükének sem! Ráadásul leírás és pontos adatlap nélkül. Így amit te Bluepill-nek veszel, koránt sem biztos hogy az is... Nekem is van itthon pár STM: Nukleo 64 bites, blackpill-nek látszó dolog is... Leltárt kellene csinálni róluk, mert már nem bírom megjegyezni sem!!
Amúgy mindegy is. Már elindult a soros port, így már csak elszenvedek velük. Az Arduino is olyan egyszerűnek van bemutatva - és ha már végigkínlódtad - tényleg az. De olyan alapvető infók nem érhetőek el, vagy csak angolul, hogy a könyvtárakat hogyan lehet értelmes módon használni stb. Van ugyan egy-egy mintaprogram, de komment az nem sok, hogy ha nem csak a mintaprogrammal vesződnél, milyen opcióid vannak. Mindegy is, én vagyok a hülye, minek akarok megint újat tanulni 53 évesen. Ráadásul ez már nem az én szemeimnek való. 3 szemüveg volt rajtam, mire csak a mikrokontroller szita feliratát el tudtam olvasni és, hogy melyik az 1. láb
Idézet: „3 szemüveg volt rajtam, mire csak a mikrokontroller szita feliratát el tudtam olvasni” Pont ezért tervezek venni mikroszkópkamerát, TV-re köthetőt!!
Ha már az ár jött szóba, nekem is van bluepillem, meg nucleom is, de inkább fizetek egy db nucleoért mint több gagyi bluepillért.
|
Bejelentkezés
Hirdetés |