Fórum témák
» Több friss téma |
Szia
Itt a lap alja felé egy lehetséges megoldás, ugyan 32f401-re, de hátha... a két értéket kell átírni: -usbd_def.h : USB_HS_MAX_PACKET_SIZE from 512 to 256 -usbd_cdc.h : CDC_DATA_HS_MAX_PACKET_SIZE from 512 to 256 Viszont ha újragenerálod a CubeMX-szel a projektet újra a rossz érték kerül bele. 407-esem van, de CubeMX-et nem használok, nem tetszett. Ha más megoldás is jó (cmsis, egyebek) kutatok még.
A teljes USB CDC projekt innen tölthető.. Köszi előre is, aki megnézi..
CMSIS lenne a legjobb, gondolom az SPL-t használja... Elvileg.
Ha van ilyen működő projektet, szívesen venném, mert egyelőre nem működik a dolog. Kipróbálom amit írtál.. ..., amúgy ez nem csak a HIGH SPEED, USB-hez kell? Mert én FS-t használok. Egy isten vagy.. Nem hiszem el, hogy ez volt a baja, most simán csont nélkül megy.. Hihetetlen, soha nem jöttem volna rá. Köszi az időt amit rám áldoztál. Hihetetlen.. A hozzászólás módosítva: Júl 17, 2018
Örülök, hogy működik Nem vagyok egy nagy stm32 szakértő, CMSIS-t használok (SPL-t használja), illetve próbálkozom leginkább, általában githubról, meg innen-onnan összeollózom ami kell, aztán módosítom az igényeimhez. Amit meg nem találok azt megírom.
Ha van ilyen CDC-t 407-esre, ami az SPL-t használja és működik is, annak nagyon örülnék.
Könnyebb lenne felhasználnom..
Nincs ilyenem, nem USB-zek, de hétvégén lesz egy kis időm összedobok egyet. Illetve f103-ra van valami példaprogramom coocox-hoz, ha megfelel.
32F103-ra nekem is van működő kódom, már évek óta használom, ez a 407-es ami próbára teszi az idegeimet. Ha erre lenne, az jó lenne. Köszi előre is..
Ez mire jó még ARMnál debbugolásra is vagy csak felprogramozáshoz?
Az épülő projektemhez, kell mint kétoldalú kommunikáció, egyedi protokoll szerint.
Szia!
Talán ez jó neked: Bővebben: Link
Egy ilyet is találtam, EmBitz-hez Discovery modulra.
Sziasztok!
Van egy Arduinos projektem AtMega2560-ra írva. Át szeretném rakni Blue Pill alapra (STM32F103C8T6) STM32duino-val. A problémám az, hogy figyelnem kell az hogy mikor fut ki az UART kimeneti bufferéből az összes adat. Ezt AtMega-nál így csináltam:
Az említett MCU-nál hogy tudom ezt figyelni? Előre is köszönöm a válaszokat!
Aszinkron módon: Figyeled az UART tx interruptot.
Pollozva: Ugyanúgy, mint AVR-en, figyelet az USART status registert. STM32F103 reference manual 814. oldaltól
Köszönöm a segítséget!
Ezek szerint, csak a TC bitet kell figyelnem, ha nem megszakítással operálok?
Én HAL hívásokkal szoktam beállítani a megszakításkezelést, illetve lekérdezni a ready állapotot. Úgyhogy olvasd át alaposan a linkelt részét a dokumentációnak, és próbáld ki, hogy tényleg elég-e azt a bitet figyelni.
Üdv!
C nyelvi kérdésem lenne, valahol elkószál az órajel konfiguráció. Egy ROM API függvényt is hívok frekvencia beállításra. Jó ez a sor szemantikailag? Hibaüzenetet nem kapok.
Még nem jöttem rá, hogy a USART_SR regiszter TC bitjét, hogyan érem el Arduinoból. Erre esetleg van ötlet?
Megtaláltam, működik! Köszönöm a segítséget még egyszer.
Srácok nincs valakinek elfekvőben egy "HY-STM32F2xxCore144 core board" teljes sematikus rajza?
Sehol nem lelem az interneten. Előre is köszi a segítséget.
Annyi még, hogy nem 32F2xx hanem 32Fxxx, az MCU ami rajta van az egy 32F103ZE.
Bővebben: Link
Közben megtaláltam.. Köszi.. Hátha még valaki keresné... A hozzászólás módosítva: Aug 8, 2018
Sziasztok!
Változók és függvények deklarálásával kapcsolatban kérdeznék. Eddigi AVR-es programjaimban a változókat és függvényeket mindig a main-ban hoztam létre, #include-al csak kész könyvtárakat hívtam meg néha. Most ARM-nél az eddigieknél nagyobb programot kell létrehoznom, így az átláthatóság miatt osztanám szét a dolgokat .h és .c fájlokra. TrueStudio-t használok CubeMX-el. Első kérdésem a változókra vonatkozik. Ha egy változót interruptban is szeretnék használni, akkor nem elég a main-ben deklarálni extern-ként, de az interrupt fájlban is deklarálni kellett. Nem tudom ez szabályos-e egyáltalán? Ezt szeretném kiváltani. Az működne, hogy létrehozok egy változók.h fájlt, ott deklarálom a változóimat, majd ezt "meghívom" (#include) a main és interrupt fájlok elején is? Másik kérdés a függvény deklaráció. Itt ha jól tudom, akkor egy .h fájlban létrehozom a függvényt, egy .c-ben megírom a teljes függvényt és meghívom benne a .h-t. Végül a main és interrupt fájlokban meghívom a függvény.h-t. Ezt így jól tudom? Illetve a függvény.h és .c fájlokban meg kell hívni a változók.h-t? Előre is köszönöm!
Nagyjából működőképes az elképzelésed.
De a CubeMX elkészíti neked ha kéred a Header-eket, csak használnod kel. Bővebben: Link 4. FEJEZET: Függvények és a program szerkezete
CubeMX-ben hol lehet ilyet kérni? Próbáltam keresni interneten, de nem találtam róla semmit.
Köszönöm a könyvet!
Menü: Poroject > Seting > Code Generator > Generated files > Generate …
A headerek megnyitása jobb gombal: Bővebben: Link A hozzászólás módosítva: Aug 11, 2018
Kipróbáltam. Azt hittem, majd kapok pár "userFunction.h/.c" és hasonló fájlokat amiket kitölthetek, de így perifériánként hozott létre egy .h/.c párost. Végülis ez is valami, mert így nem a main-ben foglalják a helyet. Illetve ennek mintájára létrehozhatom a sajátjaimat is.
Köszönöm a segítséget!
Ha a szabályokat betartod, jobban jársz!
A későbbi project bővítés esetén CubeMX meghagyja a saját fejlesztéseidet. Ha a definiált USER CODE BEGIN … - USER CODE END … páros között szerkesztetted:
Ezt már korábban tapasztaltam, hogy újrageneráláskor eltűntek a dolgaim, azóta figyelek a user code helyére.
Létrehoztam a saját .h és.c fájljaimat, ezeket nem bántja a CubeMX, működnek is amiket eddig bele írtam. Interruptot még nem próbáltam, de előtte elolvasom majd a könyv linkelt fejezetét.
A mellékletbe raktam példát, hogy én hogyan csinálom (gondolom sokan mások is, de most hadd ne kutassak ). A lényeg, hogy nem csak a .h fájlok kapnak egy #define-t, amiből látszik, hogy már egyszer lefordult, hanem a .c-be is rakok egy rá jellemzőt, de azt csak arra az időre definiálom, amíg a hozzá tartozó .h fájl(oka)t include-olom. Így a .h file tudja, hogy extern-ként, vagy simán kell egy globálisan elérhető függvényt vagy változót definiálnia. Egy fájlba mind a két verzió belekerülhet, máshol meg nem kell nyilvántartani.
Ha van egy közös.h-d amiben #include hivatkozásokkal hivatkozol minden más .h-ra amiknél nem gond, hogy olyan helyen is látszanak a definícióik ahol azokra nincs szükség, akkor minden .c-ből csak a közös és saját.h-t kell csak #include-olni, nem egyedi listákat. Munkahelyen ezt nem biztos, hogy jó szemmel nézik, de otthon szerintem belefér.
Köszi. Őszintén szólva nem teljesen értem, amit írtál. Ez persze nem a Te hibád, az én programozói tudásom elég hiányos. Régebben tanítottak programozni, az egy gyenge alapnak volt jó, azon felül minden tudásomat internet segítségével szedtem össze. Nem munkahelyre lesz, diplomamunkához kell. Általánosságban elboldogulok a programjaimmal, de sok alapvető dolog hiányzik.
Ha jól értem amit írtál, akkor minden .h file elejére kell egy ilyen:
|
Bejelentkezés
Hirdetés |