Hirdetés
- Magisk
- Nincs több titok a OnePlus 15R-t illetően, megjött Európába
- Samsung Galaxy S24 - nos, Exynos
- iPhone topik
- Xiaomi 12 - az izmos 12
- Örömkönnyek és üres kezek a TriFold startjánál
- Telekom mobilszolgáltatások
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Milyen okostelefont vegyek?
- Amazfit Bip 6 - jót olcsón
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
ecaddsell
aktív tag
Bár lehet jó eséllyel meg tudnám csinálni (legalábbis az esetek egy részére), de ez nem annyira triviális mert a kondi a jelalakot is torzítja.
Szóval méretezni kell zavaró és kívánatos jeltől függően stb. A zavaró jel meg gombtól, öregedéstől stb. is függhet (meg encodernél forgatás sebessége miegymás).
A SW-ben 1 változót sokkal gyorsabban változtatok mint a kondit újraforrasztom.Példának okáért gyorsan összedobtam a gomb kódját a lenti logikának (mivel most per pill. még fordítani sem tudom, szóval lehet nemcsak hibás is, hanem esélyes, hogy már a fordító sem eszi meg), nekem ez sokkal gyorsabb mint forrasztgatni, tárolós szkópon nézegetni a lehetséges hibákat stb.
(Alsó rész init-be megy, meg GPIO-t változókat stb. be kell állítani).
#include <pthread.h>
#define ROTE_SW GPIO_NUM_xx
#define RENC1_STPLIM 6
typedef struct {
gpio_num_t swpin;
uint16_t step;
} roteswT;
roteswT rote1par;
pthread_t rotethrdsw1;
void* roteswbgrd(void* pars){
roteswT* swpar = (roteswT*) pars; // switch parameters
gpio_num_t swbut = swpar->swpin;
uint32_t bcount;
while (1){
if(digitalRead(swbut) == LOW)
{
bcount = 0;
for(int i=0; i<20; i++){
delayMicroseconds(100);
if(digitalRead(swbut) == LOW) bcount++;
}
if(bcount>=6){
swpar->step = (swpar->step +1) % RENC1_STPLIM;
delay (300);
}
}
delay (5); // could pthread_cond_wait() for interrupt from pin
}
} // roteswbgrd
pinMode(ROTE_SW, INPUT);
rote1par.swpin = ROTE_SW;
rote1par.step = 0;
pthread_create(&rotethrdsw1, NULL, roteswbgrd, (void*) &rote1par);Az encoder számláló része persze kicsit húzósabb és ami dühítő, hogy a HW akár tudhatná is (nagyon közel van hozzá)...
Új hozzászólás Aktív témák
- sziku69: Fűzzük össze a szavakat :)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Hálózati / IP kamera
- BMW topik
- Windows 11
- exHWSW - Értünk mindenhez IS
- Projektor topic
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Összement a mosásban az ASUS új VGA-inak PCI Express 5.0 csatlakozója
- Renault, Dacia topik
- További aktív témák...
- Dell Latitude 7210 2-in-1 12" FHD touch, i7 10610U, 16GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- Playstation 5 lemezes / PS5 base (disc) edition
- Dell Latitude 5440 - i7-1365U, 32GB RAM, 1TB SSD, jó akku számla, garancia
- Intel Core i7-10700 csere Intel Core i7-10700k - ra +KP
- Iphone 16 Pro Max 256GB Black Titanium
- GYÁRI TÖLTŐK Macbook Magsafe 2 Budapest,/MPL/Foxpost
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Astro A50 4th Gen wireless + base station fejhallgató
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold

