Fórum témák
» Több friss téma |
Sziasztok!
Az alábbi beállítással kérdezem le an lábakat: (stm32f103rbt, Coocox 1.7.8)
A ch4 (3 pin) értéke 5 körül ugrál, a többi 0 vagy 1- amikor az adott bemenetet lekötöm GND-re. Lekérdezés:
Mitől lehet az AIN3 bemenet nem nulla körüli értéke, annak ellenére, hogy GND-n van. Köszönöm. A hozzászólás módosítva: Dec 18, 2017
A blue pill panelnél rendszeresen belefutok abba a problémába, hogy a panel túl magas. A probléma oka, hogy a BOOT0, BOOT1 jumperek 1 cm-rel csúcsosodnak a panel fölé, ami ugye eléggé gáz.
Jelenleg általában kiforrasztom a BOOT0, BOOT1 jumpereket és szimplán összeforrasztom GND-vel, bár láttam olyan megoldást is, hogy a tüskesorról leszedik az aljzatot, csak a jumpert rakják rá. Még így is 6 mm a jumper, ami magasabb, mint kellene. 4-5mm-mel kiegyeznék. Van értelme a BOOT0, BOOT1-nek? Idáig egyszer kellett használnom, amikor AFIO-val véletlenül kikapcsoltam az SWD debugging-ot és a PA13-PA14-ből GPIO-t csináltam. Egyébként szerintem inkább feleslegesen foglalja a helyet. Ha van alacsony megoldás, azért érdekelne. A hozzászólás módosítva: Dec 20, 2017
Nagyon hasznos tud lenni a boot ROM. De én sem láb boot configgal használom. Ha szeretném elindítani a gyári boot ROM-ot, akkor azt is programból teszem.
És máris használhatod az STM32 Flash Downloadert, vagy a gyári CAN ROM-ot, stb. Ezt a lehetőséget én meg szoktam hagyni sorozatgyártott cuccaimnál is, nem csak bluepill esetén jó.
Köszi az információt. Akkor nem vészes, ha kiforrasztom a jumpereket.
A hozzászólás módosítva: Dec 21, 2017
Nem, egyáltalán nem. Én tőben szoktam elcsípni műanyag felett, és alul összehúzom ónnal, így nem sérül a via.
Ez így elég érdekes, mert az stm32f103 USART-ja hardveresen jobb, mint ami a CP2102-ben van.
A CP2102 1 mbaudnál többet nem bír el, miközben a hardveres USART simán 9 mbaud-ig felmegy. Az STM32F103 USART-jával semmi gond, rendszeresen használom, az ADC-vel sincs baj, elég pontos 12 bites felbontás mellett. Miniszkópot is csináltam vele. Az ADC-vel a probléma STM32F103-on: - nincs külső referencia feszültség kivezetve - nincs programozható erősítése (gain) - nincs differenciális módja, bár ezt a 2 párhuzamosan működő ADC egység ellensúlyozza Semmi baj nincs sem az USART-tal, sem az ADC-vel. A netről emellett letölthető USB CDC driver, ami virtuális soros portot hoz létre. Van USB portja a blue pill-nek, ami képes tetszőleges USB eszközt emulálni. Egyik sem egyszerű, de az USB CDC driver a leggyorsabb, nálam vitte a 6 mbit/s-et, amit egyetlen piacon kapható USB-USART átalakító nem vitt.
Sziasztok!
Boldog karácsonyt kívánok! Ha esetleg valaki kicsit unja már a karácsonyfát és hozzám hasonlóan el kezdett gondolkodni valamilyen arm-es problémán, megköszönném ha tudna segíteni. STM32L433 mcu-val próbálkozom. PWM-et szeretnék generálni a TIM1 mind a 4 csatornáján. Az első 3 csatornán megjelenik a jel, a negyedik csatornán nem. Korábban egy másik panelon, másik mcu-val a TIM4-en gond nélkül ment mind a 4 csatornán. A TIM4 general purpose timer, a TIM1 viszont advanced timer, és több extra funkciója is van, amikre pluszban oda kellene figyelni. A TIM1 képes 3 fázisú módban is dolgozni, ezért is gyanús hogy pont a 4. csatorna nem megy, az első három viszont igen. Az ST-től le lehet tölteni egy "General purpose timer cookbook"-ot, az elég hasznos olvasmány a general purpose timerekhez, de nem találtam hosonlóan használható leírást az advanced timerekhez. A mikrokontroller kézikönyve ehhez túl száraz. Itt van a programkód részlet, hátha valaki meg tudja mondani, mi hiányzik: static void initTimer1InPwmMode () { RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; // Enable TIM1 TIM1->CR2 = 0; TIM1->SR = 0; // Clear flags. TIM1->BDTR = TIM_BDTR_MOE; // Main output enable (Feature of advanced timers (TIM1, TIM8)) TIM1->CCMR1 = (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2M_1); TIM1->CCMR2 = (TIM_CCMR2_OC3M_2 | TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC4M_2 | TIM_CCMR2_OC4M_1); TIM1->CCER |= (TIM_CCER_CC1E | TIM_CCER_CC2E | TIM_CCER_CC3E | TIM_CCER_CC4E); TIM1->ARR = 255; TIM1->CCR1 = 0x20; // Low inital duty TIM1->CCR2 = 0x20; // Low inital duty TIM1->CCR3 = 0x20; // Low inital duty TIM1->CCR4 = 0x20; // Low inital duty TIM1->CR1 |= TIM_CR1_CEN; // Enable counter } Előre is köszönöm, Tamás
Sziasztok!
Egy villanyszerelő vagyok, és adódott egy kis problémám. Használok egy NUCLEO-F446RE modult, és egy W5500-as wiznet chip-el szerelt modult. Sikerült SPDIF, és I2S portjait forrásként használva RTP PCM stream -et közvetítenem amit egy VLC médialejátszóval meg lehet nyitni. Ez csupán csak sztereó 44,1KHz minta 16 Bit. A tervem, hogy majd két ilyen összeállítás között az RTP szabványtól eltérően akár 192KHz-s mintavételű sztereó adatfolyamot is képes legyek továbbítani. Aminek az átviteléhez közel 13Mbps sebesség szükségeltetik. A W5500-as modult az SPI1 -es buszra kötöttem ami 45Mbps átvitelre képes. Fúl duplex módban DMA2-es vezérlővel használom. Természetesen az adatátviteli sebességet is ennek megfelelően konfiguráltam. Lehetséges e az, hogy a gyakorlatban mégsem érhető el ezzel a wiznet chippel a tényleges 13Mbps átvitel a hasznos vonalon. Ugyanis erre gyanakszom. Vagy csak én szúrok el mégis valamit. Esetleg mégsem jól használom a DMA-t. A hozzászólás módosítva: Dec 26, 2017
Tipikus villanyszerelő probléma, a cégnél a mi villanyszerelőinknek is mindig ilyen gondjai szoktak lenni.
Az IC leírásában az szerepel, hogy akár 80MHz-es SPI-al is megbirkózik, így én inkább arra gyanakodnék, hogy 10Mbites módban működik a modulod valamiért. Olvasd ki az aktuális státuszt és ellenőrizd a sebesség konfigurációt.
Szia!
Nem az mcu ADC ill.USART moduljával van a gond, hanem a "kici kínai" board forrasztásaival... Most pont azon "győzködöm" magam, hogy kell-e nekem USART RX, TX DMA. Néhány 10 byte megy ki, jön be. Véletlenszerű időkben. Nincs időkritikus jellege. Csak a DMA tanulása miatt. Bár még nem alakult ki, hogy az RX változó byteszámot fogadjon. Talán cirkulár buffer?! A csomagok eleje jól meghatározható.
Az oszcilloszkópnál küzdöttem hasonló problémával. Körkörös pufferbe írtam az adatokat, amikor trigger jelet észleltem, a pufferből X bájtot előre Y bájtot utána kellett olvasni.
Durván 200 pontot rajzoltam ki, a trigger jel előtt 100-at és utána 100-at, vagy ahogy beállítottam. Magyarul: a körkörös puffer határainak az ég világon semmi köze nem volt ahhoz, hogy mit mikor olvastam ki. A DMA írásmutató elérhető, azt mondja meg, hogy hány adat van még a pufferből hátra (ez az adatok száma, semmi köze ahhoz, hogy byte, word, vagy dword adatot DMA-zol):
Amikor az ADC logika észlelte, hogy a jel kilépett egy sávból, interruptot hívott, elmentettem a DMA csatorna írásmutatóját, a program főciklusa meg azt nézte, hogy a szükséges mennyiségű mintavétel meglett-e, vagy sem. Megfelelően nagy puffer esetén működött is. Nem volt belőle probléma, ha lassan reagált a program és kicsivel többet mintavételezett, mert volt elég hely a pufferben. Figyelni kellett a program főciklusából, hogy merre jár éppen a DMA mutató. A hozzászólás módosítva: Dec 29, 2017
Üdv.
uVision-ban hogyan tudom kikapcsolni a piros hullámos aláhúzást? Pontosabban hasznos ha hibázok de valahogy nem jól működik mert a TAB-ok ra és minden új részt amit írok aláhúz akkor ha vannak bezárt függvények vagy feltételek illetve elágazások. nagyon zavaró tud lenni.
Az STMicroelectronics felvásárolta az Atollic céget, s azt ígérik, hogy a True Studio Pro 9.0.0 kiadása (várhatóan az első negyedévben jelenik meg) már ingyenes lesz. Bővebben: Link1 és Link2
A hozzászólás módosítva: Jan 13, 2018
Egy használható IDE végre. Tuti lesz valami funkció, ami fizetős marad.
A sajtóközleményben azt írták, hogy teljesen ingyenes lesz.
Teljesen ingyen lesz. Viszont csak STM32 eszközöket fog támogatni. A többit kiveszik belőle.
Ez természetes, melyik konkurens adna oda belsős infókat nekik ezután (IDE fejlesztői), illetve ők maguk miért is támogatnák a versenytársaik termékeit.
Már csak az volna jó, ha dobnák az Eclipse-t és a sokkal egyszerűbb és szerintem szebb NetBeans-re állnának át.
Renesas, NXP, Novuton, Infineon, Silicon Labs, Texas ...ez mind Eclipse alapot használ. Nem tudom az okát, de gondolom nem véletlen.
Oké, értem. De akkor mi a helyzet a KEIL-el?
Keil?
Drága.
Gyártók által biztosított fordítókra gondoltam. Keil, IAR, Rowley stb. más kategória.
Annyira nem vagyok otthon STM32-ben, (inkább PIC32-vel szoktam foglakozni, de melóba EFM32 (silabs) kontrollereket használok).
Nekem az eclipse katasztrófa volt állandóan ki crash-elt, a NetBeans egy fokkal jobb amíg a kód mérete nem haladja meg az 500 sort nálam szét szokott esni, nem igazán megy benne megfelelően a code completion (i5, ssd mellet). Próbáltam a Keilt is első nagyon tetszett a végén úgy zártam le, hogy ez egy elbas... visual studio. Nem próbáltam sok mcu-t, de az eddigi érzés, hogy nem igazán tudnak a gyártok IDE-t csinálni. De mivel ARM-hoz van Visual Studio (visual gdb, (atmel studio)) hátha valaki ki tudja fejteni itt, hogy miért oly buták a cégek, hogy a java-t nyomják ami többnyire arra nem képes mcu IDE szinten, hogy egy rendes sötét háteret rá lehessen dobni. Erre két dolog jut eszembe VS nincs almára és pingvinre vagy egyszerűbb a plugin-eket fejleszteni. Valakinek sejtése erre?
Hát nem tudom, én az eclipse-nél gazdagabb funkcionalitással rendelkező kód szövegszerkesztőt még nem láttam (igaz, már évek óta nem is nagyon használok mást). Igaz, az elején kicsit lassú, meg néha nehézkesek a beállítások egy projektnél, de tapasztalatom szerint, ha ezen túl van az ember, akkor nagyon jól használható. Könnyen tudok navigálni a projektben, könnyű keresni benne, sok funkciót enged, és könnyű integrálni különböző rendszerekkel együtt. Ha valaki ismer olyan rendszert, ami nem eclipse alapú, mégis tudja azt a csomó kényelmi szolgáltatást, akkor kíváncsian várom a tippeket.
KEIL-ben azt szeretem, hogy eszerű mint a faék. 3-nál nem mélyebb a menürendszere és ez pont jó. Ehhez képest Eclipse rettentő bonyolult.
A NetBeans-ed, érdekes, nekem sose hullott szét. Egyszer volt valami gondom, de az egy speciális egy bizonyos verzió volt. SZépen működött, 3 az 1-ben is, mert egyszerre ment rajta ESP8266-Xtensa, Rasperry-Pi "minden remote-ba (PI-n a compiler, és Pi-n a project maga is), és még mellé ARM-GCC STM32-vel. Nem volt gond.
Jó bár nálam megbuheráltan fut a Netbeans(MPLABX), mert abból fárasztónak tartottam nyomkodni a ctlr+space-t a code completion-hoz és át lett állítva, hogy elvileg 1 ms várakozással dobja fel, meg a pop up keyword-nek a-z A-Z + . -> lett beállítva lehet ez okoz neki némi problémát, bár szerintem nem kéne.
Szerk.: Szerintem bonyolultságban egy a jó, ha egyszer átlátod sok minden testre tudsz szabni. A hozzászólás módosítva: Jan 15, 2018
Úgy érted az MPLABX-et használod mondjuk STM32-höz? Hogyan?
|
Bejelentkezés
Hirdetés |