Fórum témák
» Több friss téma |
Fórum » STM32 Discovery Kit programozása
Témaindító: lolhun1988, idő: Feb 11, 2011
A gondot egy felhúzó ellenállás okozta, átraktam egy másik lábra, és működik.
hova raktál felhúzó ellenállást? melyik lábra, ADC-re kötötted?
Nem raktam sehova se, a kit PC0 lába van az USB PowerOn-ra kötve egy felhúzó ellenállással, ezért mértem a láb kimenetén 3V-ot, átkötöttem a szenzort PC1-re, átírtam a programot, és működik rendesen az ADC. Bár nem tartom elég stabilnak 20-30mV-okat ugrál...
Ja vágom. Ilyenbe párszor én is belefutottam. Elég hasznos a referencia.
Üdv!
Valakinek van valami tapasztalata ChibiOS kapcsán? A suliban ezt erőlteti a tanár. STM32F407 Discovery board + ChibiOS. Előre is köszönöm. Üdv!
Sziasztok!
Nemrégiben beszereztem egy STM32F429 Discovery fejlesztőpanelt, mivel érdekelni kezdtek az ARM mikrovezérlők. Így a kezdésnél viszont felmerült egy-két dolog, ami nem világos: A ST oldaláról letöltött előre megírt kódok között vannak "simák" és HAL jelzésűek. Mi a különbség közöttük? Mi ez a CMSIS? Truestudio-ban ha létrehozok egy projektet, akkor a header-eket be kell inkludálnom, vagy elég csak a projekthez hozzáadni? Üdv. mjoco
CMSIS: Cortex Microcontroller Software Interface Standard
Ez egy közös felületű szoftver réteg a Cortex mikrokontrollerekhez. Lényege hogy a szoftvered könnyen hordozható legyen egyik chip-ről a másikra, akár különböző gyártók között is. Pl ha egy CMSIS függvénnyel beállítod valamelyik lábat kimenetre, akkor ugyanaz a függvény hívás egy másik gyártó másik chip-jén is beállítja azt a lábat kimenetnek. HAL: Hardver Abstraction Layer Lényege ugyan az mint a CMSIS-nek, de ez csak az ST chip-jein belül működik. Itt szépen leírják: HAL Én egyiket se használom, így sokkal mélyebben nem ismerem. Habár a Truestudio-t se használom, de mindenütt be kell include-olni a használt header-eket.
Üdv mindenkinek!
Ezeken a discovery paneleken lévő integrált STLINK/V2-vel lehet programozni az összes 8 és 32 bites kontrollert? Linux alól pl Eclipse-el van valakinek tapasztalata?
Azért kérdezem mert néztem sima (ami csak programozó) ST-link/v2-őt kb 10 rugó. Elvileg ugyan ez a programozó van a discovery kiteken is + a teszt áramkör egy pár perifériával ami mégsem kerül ennyibe mint magába a programozó. Gondolom nem a dobozolás dob az áron ennyit.
Erről van valamilyen tapasztalat? Érdemes megvenni? (kép)
Nem ugyanaz van rajta. A discovery-n csak SWD van, azon meg JTAG is. A discovery-vel az összes STM32-öt lehet programozni, de mivel itt csak 1 vonalon csorog az adat, így jóval lassabb, mint a JTAG-es programozó, meg azon van még pár extra funkció is, de ezekkel nem vagyok tisztában. Én többnyire a discovery-ről veszem le az SWD-t és azt használom. Windows alatt uVision Keil-lel gond nélkül működik a dolog.
A hozzászólás módosítva: Jan 6, 2015
Nekem van ilyen. Teljesen használható jószág. JTAG SWD megy rajta. Keil, MikroC, IDE szépen megy vele. Olcsóbb mint a gyári ST-link V2 és ugyan azt tudja.
Ejj de jó lett volna ha ezt tegnap tudom hogy megbízható ez a kis stick. Én is felfegyverkeztem. Már csak várom hogy ideérjen. Nem a reklám helye:
STLINK/V2 STM32F103C8T6 ARM STM32 Minimum System Development Board Első körben ezzel akarnám életre kelteni: Texane/stlink & Eclipse Ami még nem tiszta: Látom a kis nyákon az USB csatit viszont a kontrollernek 3.3V kell. Van benne stabilizátor? Mik ezek a BOOT0 és BOOT1 mód? (már így is sokat olvastam de úgy látszik nem eleget... ) A hozzászólás módosítva: Jan 7, 2015
Az ST-link V2 nem olcsóbb mint a hazai boltokban
Kis demo panel: Igen van rajta az alján stab ic. Boot módokat tudod meghatározni. Igen akkor rosszat olvastál. Gugli a barátod 'STM32 BOOT mode'
Ebben a tutorialban teljesen másképpen állítják be a portot mint itt a hobbin lévő STM32 Discovery cikkben. Bővebben: Link
Ez lenne a CMSYS?
Mi a különbség az alternatív push pull kimenet és a sima push pull kimenet között?
Alternatív push pull nincs.
Egy GPIO-nak négy különböző funkciója lehet: -Input -Output -Alternate -Analog Az output lehet push-pull vagy open-drain.
#define: GPIO_MODE_AF_PP ((uint32_t)0x00000002)
Alternate Function Push Pull Mode HAL driver doksi 350-edik oldal.
Miért nem tudok egy egyszerű 8 bites változót létrehozni?
Fordítási hibát kapok...
User\main.c(16): error: #268: declaration may not appear after executable statement in block
Elolvastad a hibaüzenetet? Az a baja, hogy a változó deklarációját programutasítás után helyezted el. Tedd az elejére. Tudtommal csak C++ -ban lehet változót a függvény közepén deklarálni, a sima C-ben csak az elején.
Ha egy változót függvényen kívül deklarálsz akkor globális, ha azon belül, akkor lokális változód lesz. Viszont a lokálist a függvény elején kell deklarálni.
Valóban van alternatív push-pull és open-drain kimenet is.
Különbség nincs a sima és alternatív között, csak annyi, hogy alternatív módban egy speciális kimenet a GPIO, így az ahhoz tartozó periféria állítja, nem pedig az ODR regiszter. C-ben a változókat mindig a függvény elején kell deklarálni.
Ez a fügvény elején deklarálás rémlik mikor meg a c-t tanulgattam. Viszont az AVR-ek programozásánál egyáltalán nem sírt hogy nem az elején van deklarálva a lokális változó. Érdekes.
Nézegetem az NVIC megszakítás kezelőt is. Ami nem tiszta hogy ugye van 4 prioritási szint. Gondolom ha a megszakítások egyszerre következnének be akkor a magasabb prioritású (alacsonyabb indexű) handler fut majd le előbb. Viszont mind a 4-nek van még 4 szub prioritása is. Valahogy nem értem, mi a különbség?
Most valahogy nem indul a szimulátorom:
rögtön a system init első sorára kapom a hibaüzenetet: *** error 65: access violation at 0x40021000 : no 'read' permission próbáltam megadni a memóriatérképet ini fájlban de nem akarja az igazat: MAP 0x4000, 0x4002 pedig ezt a mikrovezérlőt támogatnia kellene a szimulátornak: Bővebben: Link Találkoztatok már ilyen hibaüzenettel? Kipróbálom az IAR-t. Jobb mint a KEIL uVision? A hozzászólás módosítva: Jan 20, 2015
Biztos hogy valami árulás van, bug vagy el van írva valami a gyári fájlokban.
A uVision 4.6-al kézi fájl hozzáadásokkal (periféria driverek, cmsis, startup, config fájlok stb.) megy a szimulátor. A uVision 5.13-al az előző uVision verzióban létrehozott projectel működik a szimulálás. Viszont ha végigmegyek az új project varázslón, hozzáadom a komponenseket akkor szépen mindent legenerál, nem kézzel kell hozzáadni mindent csak a main.c-vel kell foglalkozni ezután nem megy a szimulátor. Nézegetem a fájlokat a régi működő és varázslóval létrehozott projectben de eddig még nem láttam eltérést. A fájlverziók dátumok is stimmelnek. Nem értem A hozzászólás módosítva: Jan 20, 2015
|
Bejelentkezés
Hirdetés |