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   131 / 143
(#) icserny válasza ces98 hozzászólására (») Dec 3, 2018 /
 
Segíteni semmiképp, de tippként: nézd meg ezt a témakört!
(#) ces98 válasza icserny hozzászólására (») Dec 4, 2018 /
 
Köszönöm!
(#) rolandgw hozzászólása Dec 11, 2018 /
 
Üdv!
Használtátok már az ST LPTIM-et encoder módban? Nem jövök rá a pontos beállításra. Azt írja a kézikönyv, hogy external trigger-ként kezeli, ami érthető is. Az opciók között viszont nincs ilyen. Ha kipipálom felül az External Trigger-t, akkor betesz egy harmadik input-ot erre a célra.

LPTIM.PNG
    
(#) vargham válasza rolandgw hozzászólására (») Dec 11, 2018 /
 
Sima TIM-et használtam már. Low Power verziót még nem. Milyen MCU-ról van szó?
(#) rolandgw válasza vargham hozzászólására (») Dec 11, 2018 /
 
STM32L0 (M0+)
(#) vargham válasza rolandgw hozzászólására (») Dec 12, 2018 /
 
M0-t nem használok, valahogy nem tetszik.
Sima TIM-et próbáltad?
Melyik L0? Megnézném én is CubeMX-ben.
(#) rolandgw válasza vargham hozzászólására (») Dec 12, 2018 /
 
Nucleo-L053-al próbálom, de LQFP32-be menne majd a program AVR helyett . Nem akarok ágyúval verébre, ide bőven elég.
(#) rolandgw válasza vargham hozzászólására (») Dec 13, 2018 /
 
A Cube nulla kódot generál az enkóderhez LL módban, próbáltam konfigurálni.
Idézet:
„To activate the Encoder mode the ENC bit has to be set to ‘1’. The LPTIM must first be
configured in Continuous mode.”

Idézet:
„To enable the continuous counting, the CNTSTRT bit must be set.”

Idézet:
„CNTSTRT bits can only be set when the timer is enabled (The ENABLE bit
is set to ‘1’).”

Idézet:
„The LPTIM_CFGR and LPTIM_IER registers must be modified only when the LPTIM is
disabled.”

Tehát az encoder mód engedélyezése előtt folyamatos üzemmódra kell állítani a számlálót, amit a timer engedélyezése után kell beállítani. A CFGR regisztert , ahol a encoder mód beállítás is van, a timer engedélyezése előtt kell beállítani.
No comment!
(#) vargham válasza rolandgw hozzászólására (») Dec 13, 2018 /
 
Idézet:
„A Cube nulla kódot generál az enkóderhez LL módban”

Korábban egyáltalán nem írtad, hogy LL módot használsz...
(#) rolandgw válasza vargham hozzászólására (») Dec 13, 2018 /
 
Elnézést, lemaradt. A HAL szerintem használhatatlan M0-nál, akkora kódot generál a csökkentett utasításkészlet miatt.
A hozzászólás módosítva: Dec 13, 2018
(#) rolandgw válasza rolandgw hozzászólására (») Dec 14, 2018 / 1
 
Nucleo taposásra készültem, de megmenekült.

Enc.PNG
    
(#) artur60 hozzászólása Jan 2, 2019 /
 
Sziasztok!
Egy STM32F103CT8(BluePill lap) PA7 lábát szeretném ki - bemenetként használni.
Utána olvasva opendrain kimenetként kell inicializálni és akkor írható és olvasható is a láb.
Ezt el is végeztem, de a láb 0-n marad hiába írok a BSRR regiszterbe.

  1. GPIO_InitStruct.Pin = SDIO_Pin;
  2.   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
  3.   GPIO_InitStruct.Pull = GPIO_NOPULL;
  4.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  5.   HAL_GPIO_Init(SDIO_GPIO_Port, &GPIO_InitStruct);
  6.   GPIOA->BSRR = SDIO_Pin;

Van valakinek ötlete mit kellene még csinálnom, hogy működjön?
(#) dokidoki válasza artur60 hozzászólására (») Jan 2, 2019 /
 
Na, ehhez nem értek. De ha open-drainként van használatban, akkor lesz csak 1, ha teszel rá felhúzóellenállást.
(#) Atielektro válasza artur60 hozzászólására (») Jan 2, 2019 /
 
Nem használod a belső felhúzókat és gyanítom külső sincs, így nincs honnan "jöjjön" a logikai magas vagy az alacsony a másik esetben.
  1. GPIO_InitStruct.Pull = GPIO_NOPULL;
helyett:
  1. GPIO_InitStruct.Pull = GPIO_PULLUP;
vagy
  1. GPIO_InitStruct.Pull = GPIO_PULLDOWN;
A hozzászólás módosítva: Jan 2, 2019
(#) artur60 válasza Atielektro hozzászólására (») Jan 2, 2019 /
 
Köszönöm
Így már működik!
(#) Grey54 hozzászólása Jan 5, 2019 /
 
Sziasztok!
Egy Nucleo-64-es szériába tartozó STM32L433-as mikrokontrollerre (bővebben: Link) szeretnék webszervert készíteni, mégpedig olyan formában, hogy a szervert a mikrokontrollerhez csatlakozó ESP2866-os Wifi modul segítségével tudjam elérni. A ESP2866-ra flasheltem NodeMcu firmware-t (ha uarton keresztül csatlakozok az esp-re akkor tudok is csatlakozni a routerhez is).
Jelenleg ott tartok, hogy az ESP-t rákötöttem a mikrokontrollerre, utóbbi pedig USB-vel a gépre. Az ESP-n világít a led. Most következne a kódolás, viszont nem tudom, hogy az általam használt CubeMX nevű projekt generátorba nem kellene-e beállítani valamit az ESP modul miatt. Meg egyáltalán, milyen parancsokkal tudom megszólitani majd az ESP-t. Szóval némi útmutatás kéne.

Köszönöm előre is!
Üdv: Tamás
(#) csatti2 válasza Grey54 hozzászólására (») Jan 5, 2019 /
 
Első pillanatra kicsit furcsálom a feladatot, lévén miért használsz egy energiatakarékos mikrokontrollert egy energiazabáló wifi modullal együtt. Adná, akkor hogy egy nagyobb teljesítményű mikrót válassz.
Ha nem ragaszkodsz mindenképpen ahhoz, hogy a feladatot az STM32-ben oldd meg, akkor jobb irány lehet valamelyik már kész az ESP8266-hoz készített webszervert tartalmazó firmware-t használni. Akkor csak az adatokat kell kicserélni a két modul között és sokkal egyszerűbb a feladat.
Ha viszont mindenképpen az ST-ben szeretnéd a webszervert, akkor azért lesz mit csinálnod. Első lépésként állítsd be az USART kommunikációt a két eszköz között. Az ESP-t ún. AT parancsokkal tudod vezérelni / konfigurálni (a neten megtalálod a teljes leírást). Ezekkel a parancsokkal meg tudod valósítani a session rétegét a kommunikációnak (magyarán ki küld kinek adatot). A webszerver részre keress valamilyen nyílt forráskódú projektet és akkor csak az előbb említett részt kell megírnod.
(#) Grey54 válasza csatti2 hozzászólására (») Jan 5, 2019 /
 
Beadandó feladat alkalmával készítem ezt a feladatot, aztán ezt kaptam hozzá.
Most már vágom nagyjából hogy kéne kinézni a dolognak. Van olyan parancsom az egyik C library-ban, hogy HAL_UART_Transmit. Ez utóbbival el tudom küldeni az esp-nek a szükséges parancsokat.
Köszi a segítségedet!
(#) jefflynn hozzászólása Jan 6, 2019 /
 
Sziasztok,
a következő problémám lenne. Adott egy készülék M0 vagy az újabb változat M4 procival (Nuvoton, ha ez számít valamit...), akkus táplálással. A gond akkor van, amikor az akku lemerül, ekkor ugyanis a data flash-ben tárolt adatok néha törlődnek. A kulcsszó itt a néha, elég ritka a jelenség ahhoz, hogy asztalon teszteléskor jelentkezzen, de elég gyakori ahhoz, hogy idegesítő legyen. Nyilván nem az akku merülés miatt felejt a flash, hanem a program valamilyen úton ráfut a flash írás rutinra, ami nem tud lefutni teljesen, pl. mert resetel a flash page törlése után, de még az adatok visszaírása előtt. Nem tudom pontosan, hogy ez az akku merülése alatt, vagy esetleg a felhasználó "helyreállítási" kísérlete (akku bikázás, csere, töltés) alatt történik. A kérdésem egyszerű: mit lehet tenni? Nem feltétlenül szeretném feltalálni a langyos vizet, ha van erre valami bejáratott megoldás, azt szívesen venném.
A hozzászólás módosítva: Jan 6, 2019
(#) Kovidivi válasza jefflynn hozzászólására (») Jan 7, 2019 /
 
Minden adatot két helyen tárolva a károsodás és az újraindítás után 100% biztonsággal meg lehet mondani, hogy mi volt előzőleg elmentve.
Ha az első mentés közben történik a hiba, akkor csak az előző értéket tudjuk, ha a második mentésnél, akkor már az új értéket tudjuk visszatölteni. A legelső mentésnél fellépő adatvesztésre nincs megfelelő megoldás, esetpeg valami hardware-es. Megnézed, hogy elkezd-e a táp összeomlani. Ha igen, akkor már nem mentesz semmit, de ez is adatvesztéssel jár.
A hozzászólás módosítva: Jan 7, 2019
(#) vargham válasza jefflynn hozzászólására (») Jan 8, 2019 /
 
Hardveres megoldás: Tápfeszültség figyelése. Ha fontos az adatmentés, akkor elegendő táp puffer, például kondenzátor, esetleg gombelem a flash írás idejére.
(#) jefflynn hozzászólása Jan 8, 2019 /
 
Köszönöm a válaszokat, hardveres megoldás nem nagyon jöhet szóba, valamilyen dupla mentésen gondolkodom. Csak semmi garancia nincs arra, hogy a feszültségeséskor meghülyülő készülék nem rontja el a második mentést is.
(#) Kovidivi válasza jefflynn hozzászólására (») Jan 8, 2019 /
 
Akkor mentesz 3x. Abból is csak az utolsó lesz rossz. De teszteld le, hogy mennyit ront el. Ha három értéked van, amiből kettő ugyanaz, a harmadik más, akkor már egyértelmű, hogy melyik értéket kell használnod.
(#) rolandgw hozzászólása Jan 11, 2019 1 /
 
Elnézést az off-ért, kezdő vagyok Linuxban (Ubuntu). Egy Eclipse alapú IDE telepítésről van szó. Ennyi van a leírásban:
chmod +x xxx.deb.bin
sudo xxx.deb.bin
A letöltés könyvtárban megnyitom a terminált, a sudo-ra parancs nem található üzenetet ad.
Máshova kellene tennem a bin-t?
Kösz!
(#) icserny válasza rolandgw hozzászólására (») Jan 11, 2019 /
 
A chmod +x xxx.deb.bin lényege, hogy futtathatóvá teszi a letöltött bin állományt.
A sudo helyett su paranccsal is válthatsz rendszergazda módba (csak ne felejts el exit-tel visszaváltani!), a lényeg az, hogy rendszergazda jogok nélkül nem tudod telepíteni.
(#) rolandgw válasza icserny hozzászólására (») Jan 11, 2019 1 /
 
Bekéri a jelszót a sudo-ra, megpróbálom amit írtál.
(#) icserny válasza rolandgw hozzászólására (») Jan 11, 2019 /
 
Idézet:
„Bekéri a jelszót a sudo-ra”
Még szép, hogy bekéri!
(#) rolandgw válasza icserny hozzászólására (») Jan 11, 2019 1 /
 
Su-val hogy menne pontosan? Nem akarja elfogadni, nem használtam még.
(#) rolandgw válasza icserny hozzászólására (») Jan 11, 2019 1 /
 
Köszönöm! Igazad van. Hitelesítési hibát ír a su-ra. Nem értem, jelszó nélküli bejelentkezés, indulás van, de frissítések telepítésekor kérte már a jelszót, tehát az jó.
(#) icserny válasza rolandgw hozzászólására (») Jan 11, 2019 /
 
Ezekkel a kérdéseket egy Ubuntu fórumon kellene tisztázni, nem itt!
Következő: »»   131 / 143
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu