Fórum témák
» Több friss téma |
Amúgy nekem jellemzően elég instabilak voltak a kínai klónok. Vettem egy eredeti ST-Link 3 minit, és azóta nincs gondom. 4000 ft körül volt.
Sajnos sokszor nem fogalmazok precízen, mint épp a tegnapi válaszomban is. A linux alatt sem stlink a program neve, több "stlink"-kel kezdődő komponens van amit telepítettem, amivel indítani lehet, az az "stlink-tools".
A chip ID-re mást nem tudok mondani. Amikor először játszottam bluepill-el, próbáltam a CubeIDE-t, de nem vitte a klónt, (nem is tudtam még, hogy az klón), csak ahogy cserélgettem (több klón is van) bekerült a Hestore-os eredeti IC-s is, és nem értettem, egyikkel miért működik, másikkal miért nem. Aztán találtam a neten infót, hogy sok nem eredeti, és mit kell csinálni, hogy menjen a klón is, de nem sikerült összehoznom És nem igazán tetszett a CubeIDE, így lett vscode-platformio. Ez sem volt egyszerű, de ehhez hamarabb találtam infót a klón hesználhatóságához. Keresgéltem, és a második pythonban írt platformio.ini file-t létrehozó programmal végre elindult. Csak nem igazán tetszett a pythonos program kezelése, meg nem is látok bele mert eddig még mindig elhalasztottam a python tanulást. Viszont rájöttem valójában mit csinál, mire kell, és írtam egy shell scriptet erre a célra. Ennek paraméterekkel megadhatom milyen fajta panel, mert van több fajta is, meg szintén paraméter, hogy klón, vagy valódi. A könyvtár felépítést is - szerintem - jobban oldottam meg, kevesebb macera, ha valamiért menet közben újra a CubeMX-hez kell nyúlni. A vscode abból is szerencsésebb, hogy ha írok saját library-t, nem kell minden projaktbe bemásolni, elfogadja a könyvtár linket is. Úgy tapasztaltam, a CubeIDE ezt nem tudja, de lehet, csak nem kísérleteztem eleget. Én előbb tettem fel a vscode-platformio-t, gondolom, ezért van benne a cfg file, igaz jól elásva alkönyvtár láncban. Az első stlink-v2-t vaterán vettem, nem működött, nem volt kapcsolat a számítógép és a bluepill között. A második Hestore-tól, az működik rendesen. Sajnos még nem ástam bele magam eléggé a dolgokba, amiket eddig próbáltam I2C, SPI azoknál nem vettem észre különbséget az eredeti és a klón között. A hozzászólás módosítva: Nov 20, 2023
Most egyelore jo igy, aztan ha jon a tobbi board es eredeti stlink, akkor majd tobbet tudok probalkozni. Azaz ket eredeti stlink, mert a nuclino board tartalmaz egyet beepitve es amelle rendeltem egy masikat is, soha nem tudni felkialtassal
Nekem kicsit furcsa, hogy ilyen alacsony feszultseget ad a boardra, de mukodni mukodik, kiserletezni jo.
Az én v2-m működik, van amúgy más előnye a v3-nak?
Megjott az elso rendelesem, egy Blue Pill panel, 'helyi' boltbol (ezert mar itt is van).
Hat ez akar ne is jott volna Szemre majdnem egyforma a meglevovel, apro, poziciobeli elteresek es par alkatresz lathatoan mas szeriabol szarmazik. Ez mar a boltban is gyanus lehetett (vagy meg a gyartas utan?) mert a programozashoz szukseges 4 pin be volt forasztva es egy led_blink ott figyelt indulaskor. Aztan kb ennyit is tud. Lehet programozni, de az eddig teszteltek kozul mar most nem mukodik az USART2, es meg ket masik GPIO szinte biztosan nem jo. Lehet megprobalom debug-olni pontosan mi nem megy (lehet timer gond is, a teszt programom harmat is hasznal), de max erdeklodos/szorakozas szinten, amugy kuka. Ami idot eddig az a ket board elrabolt az mar tobb mint fel tucat nuclino ara bukta ...bar (always look on the bright side...) az intenziv hibakereses neha jol jon, a tanulas elejen sok doksit kenytelen az ember atolvasni ami gyors fejlodest eredmenyez... Igazi szerencse, hogy az elso board ugy altalaban mukodik, igy nem ment el a kedvem rogton az elejen.
M4-es modulom van (STM32F411CEU), amit teszteltem rajta az jol mukodik, nyuglodes a STM32F103C8T6-ra epulo Blue Pill-ekkel van/volt.
Amit linkeltel az ara szerint eredeti lehet, annyiert az Ali-rol 5 darabot kuldenek egy ajandek STLink clonnal es szallitasi dijjal egyutt Egyelore hasznalom a legelso, nem is tudom honnan szarmazo peldanyt, annak csak a VBAT laba nem mukodik rendesen. Ha megjon az ot darabos szallitmany kinabol, akkor azokat meg letesztelem, aminek barmi baja van egyszeruen kidobom. A tanulsag nekem annyi volt, hogy (tobbek tanacsat kovetve) maradok a biztosan eredeti chip-et tartalmazo nucleo boardok-nal, illetve ha kesobb kell mcu, akkor a farnell-tol rendelek, nem az ebay-rol vagy ali-rol. A ar abszolut nem veszelyes, a hibas/rossz minosegu klon miatt esetlegesen elvesztegett ido toredeke a kulonbseg..
A klón ST-Linkek sem megbízhatóak.
Az eredetiben STM32F103 mikrokontroller van, a klónban STM32F101. Az F101-ben hivatalosan nincs USB periféria, ezért olcsóbb. Akkor hogy működik rajta mégis az ST-Link firmware? Nem gyártanak annyiféle mikrokontrollert, ahányat árulnak. Valószínűleg mindegyik F103-nak indul, csak amelyik a gyárban bukja az USB tesztet, az F101 lesz. Ez annyit jelent, hogy néhányban egyáltalán nem működik az USB (találkoztam ilyennel is), a legtöbben viszont igen. Egy darabig. Aztán egyszer felforrósodik az IC, és többé nem ismeri fel a számítógép. Kíváncsiságból több ilyen F101 MCUt is leforrasztotam a klón NYÁKjáról, áttettem saját panelra, és futtattam rajtuk teszt programot. Az USB kivételével futott rajta minden, amit próbáltam...
Próbáltál klón ST-Linket megjavítani, úgy, hogy eredeti procit tettél bele?
Kíváncsiságból. De nem éri meg.
1. 4 és 6 dollár között van egy STM32F103C8T6 ára. 8-10 dollár körül kapni egy eredeti V3 minit, ami ráadásul sokkal gyorsabb és ismeri az újabb STM32 családokat is. Vagy veszel egy legolcsóbb olyan Nucleot, amin már V3 van. 2. Ha nincs forrólevegős szerszámod, akkor macera leszedni az IC-t. 3. A klónon nincs kivzetve se a reset se a SWO. (A rajta lévő reset kimenet 8 bites mikrokontrollerekhez való.) Így nem lehet alvó állapotú célt programozni/debuggolni, se a debug logot használni. 4. Csak 3.3 voltos rendszerhez jó. Az eredeti nem ad tápot, hanem mér, és a céláramkörhöz állítja a kommunikáció feszültségét. 5. Illegális. Próbálják is védeni. Üres chipre például nem tölti fel az ST-Link frissítő a szoftvert, mert nincs rajta bootloader. Bootloadert kell szerezni a netről, és feltölteni egy másik ST-Linkkel. Sajnos ezután sem fogja feltölteni a firmwaret a frissítő... Szerezni kell egy régi, STM-től már nem letölthető frissítőt, ami hajlandó feltölteni egy régebbi verziót. Utána lehet a legújabbra frissíteni.
Egyik ismerosom "ha mar te is belekezdtel felkialtassal" tegnap hozzam vagott egy 'Black Pill'-t, mondva hogy ezen meg a "Hello world" (LED blink ) se megy, de hatha valami jol jon a board-rol...
...mivel jo szivem van ma visszaadtam neki, miutan beforrasztottam a hianyzo 1k-s elotet ellenallast
Megjott kozben a Nucleo, a gyors teszt szerint szepen ketyeg. Tetszik a sok lehetoseg, foleg a be/raepitett stlink.
Az stlink-v3set is izgatja a fantaziam de az egyelore dobozba kerult. (Koltozom a hetvegen) Van egy tucatnyi Arduino Uno-os prototype boardom, azok is jol johetnek ehhez a fejleszto panelhez
A Nucleo-k mellett megjott a nagy kupac bluepill is, van orom bodotta.
De. Az STM azert pont ugy elmehet a p*csaba mint a Microchip Epp az I2C-vel kuzdottem, sehogy se akarta az igazsagot (ugy ahogy en szerettem volna), szoval gondoltam egyszerubb ha beroffentem STMCubeIDE-t, es legeneralok egy mukodo kodot, legyen hol megnezni mit csinalok rosszul. Ez a resz rendben is volt, mukodott. Egyszer. Utana soha tobet nem latta az STLink a board-ot. Kicsit vakargattam a fejem, elovettem a kupacbol egy masik bluepill-t, eloszor megneztem vscode+PIO kornyezetben, jol ment, aztan raengedtem ismet a az STMCubeIDE-t. Az eredmeny ugyanaz. Ez mar erosen gyanussa tette az STM software kornyezetet, hogy valahova/valamit beleir, amit en nem szeretnek. Gondoltam egyet, atdugtam BOOT0 mod-ba, ugy mukodott, de ez viszont nem tetszett, nagyon ruhelltem volna a jumper-t dugdosni minden egyes programozasnal. A lenyeg, hogy majd egy ora kuzdelem utan talaltam meg a hunyot:
Ez az aprosag volt a ludas, ezt ugy tette (generalta) bele a gyari IDE, hogy en biztosan nem kertem Miutan kiszedtem a fenti sort, mar ismet ugy mukodott minden ahogy szerettem volna, raadasul azt is megfejtettem hol csuszott el a SystemClock config, ami miatt nem ment az I2C. Szoval megyek tovabb a Lenini uton BTW, az osszes osszeharacsolt (most mar 7 darab) blupill jonak latszik, eltekintve attol a problematol, hogy a VBAT lab nem ugy mukodik ahogy kellene, de ezt ki kellene probalnom egy lekapott chip-el is, PCB nelkul A hozzászólás módosítva: Dec 17, 2023
Idézet: „en biztosan nem kertem” Figyelmetlen voltál, és nem olvastad a dokumentációt. Ha nem kéred a debug módot, akkor azt fogja belegenerálni a kódba. Ha engedélyezed a CubeMX-ben, akkor pedig az engedélyező kódot generálja bele. A programozás ebben az esetben is működik, csak be kell kötnöd a reset lábat is az ST-Linkbe, és programozáshoz válaszd a connect under reset opciót. A hozzászólás módosítva: Dec 17, 2023
Igyekszem a jo oldalat nezni: mennyit tanultam, amig erre a 'hibara' vadasztam
A CubeIDE-nek kicsi a sansza nalam, az eclipse sosem volt kedvencem, ez pedig Mac-en borzasztoan darabos. Cserebe megnyitja az utat az abszolut kezdoknek, a generalt kodokbol pedig sok hasznos dolgot lehet kiolvasni.
Én sem szeretem az Eclipset. A CubeMX generálja a kódot, a CubeIDE ettől teljesen független. Nagyon sokféle IDE-t választhatsz.
Azért használom mégis a CubeIDE-t, mert a gyártó telerakja az ő specifikius megoldásaival. Például ThreadX (most már Azure) RTOS specifikus statisztikák, stack figyelés, live regiszter és memória nézet, stb.
Ezt nem tudtam, hogy van kulon CubeMX, nekem csak az STM32CubeIDE es a STM32CubeProgrammer latszik, mint app. Ezeket talaltam hirtelen, amikor nekiindultam.
Aztan gyorsan valtottam is vscode + PIO kombinaciora, azt mar megszoktam, napi szinten hasznalom a cegnel (a vscode-ot). Ezt a kombot hasznaltam AVR mcu-okhoz is. Az alapszintu debug-hoz ez eleg kenyelmes, lehet csak a tudasom hianya miatt, de jobban kezreallonak latszik, mint a CubeIDE.
Szenzorok meresi eredmenyet szeretnem par meter (<20m, esetleges egy fal, vagy fodem elkepzelheto) tavolsagra atkuldeni. A taplalas elemes.
Vannak gyakorlati tapasztalataitok az L, estleg a W sorozat hasznalataval? Van amire igy altalanossagban figyelni kell, vagy barmi ami alapjan elindulhatok a megfelelo tipus kivalasztasaban? (Minimalis I/O lab kell, tobbsegeben I2C szenzor, max 1-2 szenzor per mcu) Lehet radios modem 433/866MHz (ez esetben kulso modul, tehat csak a szuperkicsi fogyasztas erdekes) vagy esetleg bluetooth/wifi/akarmi (ez esetben johetne talan a W szeria).
Mikozben ket bluepill-el dolgozom egyszerre (egy ado es egy vevo), felmerult, hogy milyen jo lenne ha nem kellene mindig dugdosni az stlink-re oket (jelen esetben ket kinai clone stlink-rol van szo).
Kiprobaltam mire megyek a platformio-val ha egyszerre ket stlink van a gepre dugva, ami kellemes meglepeteskent nagyon jol mukodik. Ket environment-et hoztam letre, mas-mas stlink serial-al es tada, egy kattintassal tudok valasztani melyikkel es melyikre toltse a kodot
Mint emlitettem a vscode napi 8-12 oraban hasznalatban van, nem szeretnek atallni valami (altalam)marginalisan hasznalt kornyezetre, raadasul a CubeIDE hasznalhatatlanul lassu MacOS alatt.
Mindezek melle a vscode tomenytelen mennyisegu, nagyon hasznos extension-al rendelkezik. A github copilot es a copilot chat pedig (bar viszonylag uj szolgaltatas) olyan segitseg, amit mar nem szeretnek mellozni A platformio mindezek mellett viszi az osszes AVR procis cuccomat, mellekesen arduino-t is, radasul ha olyanom van akkor ESP32-t is Miota emlitetted a CubeMX-et azota kulon felraktam, az viszont hasznos lesz egy darabig, amig nem szokom hozza a periferiak/clock/akarmi beallitasahoz. A hozzászólás módosítva: Dec 22, 2023
A mostani mini project-nek szuksege lenne egy inverted UART-ra, azaz ez lenne a legegyszerubb.
Van az STM32-nek akar HAL akar barmi mas megoldasa out of the box? PIC-en ez letezo dolog (egy bit allitja), mondjuk az jo regen volt, azota se kellet. Tudom, hogy egy-egy tranzisztor eleg a be/kimenet-re, de jo lenne valami software megoldas, ami nem software UART
A kontroller referencia adatlapját megnézve én nem látok olyan regiszter bitet, amivel az UART adatláb polaritását meg lehetne változtatni.
Amikor STM32-ot irok akkor altalaban az F1xx sorozatra gondolok, ami a topic cimadoja
Latni lattam masok kodjaban ilyesmit
de amikor megneztem, akkor kiderult ez az L4xx csalad-ra vonatkozott (raadasul ott van akar kulon RX/TX beallitasi lehetoseg is). A kerdesem pedig lehet pontatlan, de en arra celoztam, hogy van-e HAL szinten megoldas erre, anelkul hogy magamnak kellene megirni/atirni egy software-es UART kezeles. Ez utobbi sem ordongosseg, de nem szeretnek vele foglalkozni, inkabb berakom azt a FET-et oda inverternek.
Kozben megtalaltam masik mcu adatlapjan (RM0432 Reference manual), USART_CR2->DATAINV, ->TXINV es ->RXINV.
Ha jol ertelmezem, akkor az L432-ben is van ilyen, szerencsere ilyen nucleo is van itthon, szoval kiprobalom majd. F103-bol van egy marekkal, jo lett volna ha abban is van, de hat ez nem kivansagmusor
Én a topik címe miatt automatikusan az f103-at néztem. Az L4 családban már van, ott a CubeMX-ben be is tudod állítani a "TX pin active level inversion" enabled beállítással (alatta meg az RX-re vonatkoztatva).
En azert meg erosen botladozom a kulonbozo csaladok kozott. Foleg, hogy itthon is van mar F1xx/F4xx/L4xx tipus is, es ugye a topic olvasoi nem latjak nekem epp melyik van bedugva a panelbe..
Altalaban keson veszem eszre ha mar maga a kerdesem is kerdeses, azaz nem lehet ra jol valaszolni
Ma nekifutottam az L4xx csaladnak, egesz pontosan egy Nucleo-L432KC-nek. Az onbizalom nekifutaskor meg megvolt, hisz az F103 mar egesz turhetoen ketyegett, a Timer es megszakitas kezeles alapszinten meglett, meg ugy is, hogy HAL helyett kozvetlenul a regiszterek bitjeit billegtettem.
Na ez (Timer es TimerIRQ) igy nem jott ossze siman az L432-nel. Egesz pontosan meg sehogy sem, annak ellenere, hogy probalkoztam a CubeMX-ben osszetalicskazni a megfelelo boilerplate code-ot. Valami hianyzik, es a doksi elso nekifutasra nem segitett ugy mint az F103-nal. Erdekes. Holnap nekifutok ismet, hatha csak valami egeszen trivialis dolgot felejtettem el be (vagy ki-)kapcsolni Ehhez a tipushoz nincs annyi peldaprogram es/vagy publikus project mint a nepszeru F103-hoz, de elobb-utobb rajovok mi hianyzik. Ezzel a Nucleo boarddal kapcsolatban az nem vilagos, hogyan tudom (ha tudom egyaltalan) tesztelni az elemes mukodest, a fogyasztas valtozasat kulonfele beallitasok eseten. A valtozast meg talan-talan de ugye nem lesz sosem realis az ertek, hisz ott figyel rajta az stlink-is.
Mint ugy altalaban, ennek is megvolt a maga oka, marmint miert nem mukodott a (egy)Timer.
Friss fejjel nekiallva, atmentem ismet a doksi relevans reszen, megprobaltam regiszter szinten ertelmezni. Kiderult megsincs mindenhol akkora kulonbseg a F1xx es a L4xx timer-ek kozott. Az alabbi regiszterek (azaz a beallitas hianya) volt hunyo:
Innen mar csak egy lepes volt megtalalni a HAL megfelelojet:
A reverse USART mar csak bonusz, bar arra csak atmenetileg van szuksegem, ameddig felhasznalom a fiokban talalt maradek Aurel oskovulet radios modulokat Mar rendeltem egy par modernebb modult, nem feltetlen szeretnek minden bitet magam tekergetni.. |
Bejelentkezés
Hirdetés |