Fórum témák

» Több friss téma
Fórum » ARM - Miértek hogyanok
 
Témaindító: gtk, idő: Jún 26, 2007
Lapozás: OK   170 / 176
(#) szitko hozzászólása Feb 20, 2023 /
 
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.
(#) don_peter hozzászólása Feb 22, 2023 /
 
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.
(#) sdrlab válasza don_peter hozzászólására (») Feb 22, 2023 / 1
 
É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
(#) vargham válasza don_peter hozzászólására (») 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.
(#) benjami válasza sdrlab hozzászólására (») Feb 22, 2023 /
 
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.
(#) don_peter válasza vargham hozzászólására (») Feb 22, 2023 /
 
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

spi.PNG
    
(#) sdrlab válasza don_peter hozzászólására (») Feb 22, 2023 /
 
Szívesen!
(#) sdrlab válasza don_peter hozzászólására (») Feb 22, 2023 / 1
 
Mert nem a net neveket kell nézni, ami nyilván tetszőleges lehet, hanem a láb funkcióját, ami viszont fix!
(#) don_peter válasza sdrlab hozzászólására (») Feb 22, 2023 /
 
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
(#) don_peter hozzászólása Márc 8, 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:
  1. while((HAL_GetTick() - tickstart) < wait)
Esetleg találkozott már valaki ilyen hibával? Ha debugban, lassan végig megyek lépésenként a programon, akkor van hogy el indul és működik, de bármit is csinálok utána, rögtön megfagy a program, vagy is az újabb időzítésnél a fentebb megjelölt rutinnál beragad. Mit tehetek? Köszi.
(#) benjami válasza don_peter hozzászólására (») Márc 8, 2023 /
 
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.
(#) don_peter válasza benjami hozzászólására (») Márc 8, 2023 /
 
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.
(#) don_peter válasza don_peter hozzászólására (») Márc 8, 2023 /
 
Csináltam egy teljesen új projektet, megdupláztam stack-et, de semmi nem változik.
Idézet:
„Program received signal SIGINT, Interrupt.
0x1fffca70 in ?? ()”
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.
A hozzászólás módosítva: Márc 8, 2023
(#) benjami válasza don_peter hozzászólására (») 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.
(#) Rockmenyét válasza don_peter hozzászólására (») Márc 8, 2023 /
 
Érdemes megnézni, hogy az stm32f0xx_it.c-ben a Systick_Handler-ben a HAL_IncTick() meghívásra kerül-e?
  1. void SysTick_Handler(void)
  2. {
  3.   HAL_IncTick();
  4. }

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:

  1. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  2. {
  3.   HAL_IncTick();
  4. }

É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
(#) don_peter válasza benjami hozzászólására (») 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
(#) don_peter válasza Rockmenyét hozzászólására (») 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
(#) benjami válasza don_peter hozzászólására (») Márc 8, 2023 / 1
 
Boot0 lábat mindenképp 0-ra kell húzni.
(#) don_peter válasza benjami hozzászólására (») Márc 9, 2023 /
 
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.
(#) don_peter válasza benjami hozzászólására (») Márc 9, 2023 /
 
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.
(#) don_peter hozzászólása Márc 14, 2023 /
 
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.. )
(#) icserny válasza don_peter hozzászólására (») Márc 14, 2023 /
 
Nem, nem is szeretnék, de találtam itt valamit, ami esetleg segíthet rajtad.
(#) don_peter válasza icserny hozzászólására (») Márc 15, 2023 /
 
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..
(#) kameleon2 hozzászólása Márc 15, 2023 /
 
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.
(#) vargham válasza kameleon2 hozzászólására (») Márc 16, 2023 / 1
 
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.
Idézet:
„ST-Link V2 J-link és Ulink 2 pont nem volt jó”

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.
(#) kameleon2 válasza vargham hozzászólására (») Márc 16, 2023 /
 
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.
(#) dB_Thunder válasza kameleon2 hozzászólására (») Márc 16, 2023 / 1
 
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!!
(#) kameleon2 válasza dB_Thunder hozzászólására (») Márc 16, 2023 /
 
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
(#) dB_Thunder válasza kameleon2 hozzászólására (») Márc 16, 2023 /
 
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!!
(#) Jonni válasza kameleon2 hozzászólására (») Márc 16, 2023 /
 
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.
Következő: »»   170 / 176
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