Fórum témák
» Több friss téma |
Segíteni semmiképp, de tippként: nézd meg ezt a témakört!
Ü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.
Sima TIM-et használtam már. Low Power verziót még nem. Milyen MCU-ról van szó?
M0-t nem használok, valahogy nem tetszik.
Sima TIM-et próbáltad? Melyik L0? Megnézném én is CubeMX-ben.
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.
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! 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...
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
Nucleo taposásra készültem, de megmenekült.
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.
Van valakinek ötlete mit kellene még csinálnom, hogy működjön?
Na, ehhez nem értek. De ha open-drainként van használatban, akkor lesz csak 1, ha teszel rá felhúzóellenállást.
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.
A hozzászólás módosítva: Jan 2, 2019
Köszönöm
Így már működik!
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
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.
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!
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
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
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.
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.
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.
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!
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.
Bekéri a jelszót a sudo-ra, megpróbálom amit írtál.
Idézet: Még szép, hogy bekéri! „Bekéri a jelszót a sudo-ra”
Su-val hogy menne pontosan? Nem akarja elfogadni, nem használtam még.
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ó.
Ezekkel a kérdéseket egy Ubuntu fórumon kellene tisztázni, nem itt!
|
Bejelentkezés
Hirdetés |