-
Fototrend
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
-
Imy
veterán
Köszi, kipróbáltam. A fordító hibaüzenetet dob, és a bekötés honnan derül ki?
Ez a jelenlegi program, de lehet valamit rosszul csináltam:
#define ROTE_CLK GPIO_NUM_xx#define ROTE_DT GPIO_NUM_xx#define ROTE_SPCTM 50000 // speed control time limit, not defined no speedctrlvolatile int32_t rotval = 0;void IRAM_ATTR isrrot() {volatile static uint8_t pinsta = 0x3, cwi = 0, ccwi = 0;volatile static uint8_t cwexp[] = {0xD, 0x4, 0x2, 0xB};volatile static uint8_t ccwexp[] = {0xE, 0x8, 0x1, 0x7};int32_t rvchg;#ifdef ROTE_SPCTMvolatile static uint32_t tc = 0, tm = 0;uint32_t ctm, td;#endifpinsta = (pinsta << 2) & 0xf;if (digitalRead(ROTE_DT)) pinsta |= 0x2;if (digitalRead(ROTE_CLK)) pinsta |= 0x1;if (pinsta == cwexp[cwi]) cwi++;else if (pinsta == ccwexp[ccwi]) ccwi++;if (cwi == 0x4 || ccwi == 0x4){if (cwi == 4) rvchg = 1;else rvchg = -1;pinsta = 0x3; cwi = 0; ccwi = 0;#ifdef ROTE_SPCTMctm = micros();td = ctm - tm;tm = ctm;if (td < ROTE_SPCTM / 2) rvchg *= 7;else if (td < (ROTE_SPCTM * 2) / 3) rvchg *= 4;else if (td < ROTE_SPCTM) rvchg *= 2;#endifrotval += rvchg;}} // isrrotint16_t getrotv() {static int32_t lval = 0;int32_t cval = rotval;int16_t rotc = 0;if (lval != cval) {rotc = cval - lval;lval = cval;}return (rotc);} // getrotvvoid inirotein(gpio_num_t clk, gpio_num_t dt) {pinMode(clk, INPUT);pinMode(dt, INPUT);attachInterrupt(digitalPinToInterrupt(clk), isrrot, CHANGE);attachInterrupt(digitalPinToInterrupt(dt), isrrot, CHANGE);} // iniroteinvoid setup() {inirotein(ROTE_CLK, ROTE_DT);}void loop() {Serial.print("Encoder_positionp = "); Serial.println(rotval);}
Új hozzászólás Aktív témák
- Apple iPhone 14 Pro Max 256GB,Átlagos,Adatkabelel, 12 hónap garanciával
- Dell Precision 7730,17.3",FHD,i5-8400H CPU,16GB DDR4,512GB SSD,WIN11
- ÚJ! BONTATLAN! Samsung 860 EVO 1TB SSD,2.5
- Új Prémium vezeték nélküli billentyűzet eladó Magyar (PBT) kupakokkal
- HP EliteBook X360 1030 G2,Multi-Touch 2 az 1-ben,i5-7300U,8GB DDR4,256GB SSD,WIN11
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B550M R7 5800X 32GB DDR4 512GB SSD RTX 3070 8GB FSP CMT510 Cooler Master 750W
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Airpods Max fülpárna, gyári Apple
- Apple iPhone 11 128 GB Fekete 1 év Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest
ekkold
