- Ezek az új Google Pixel cuccok hivatalos magyar árai
- Xiaomi 15 - kicsi telefon nagy energiával
- iPhone topik
- Kézbe fogható paradoxon lett az iPhone Air
- Hetekig bírják töltő nélkül a Huawei sportórái
- Sony Xperia 1 V - kizárólag igényeseknek
- Nagyon erős ajánlat lett az Apple Watch SE 3
- Apple iPhone 16 Pro - rutinvizsga
- Milyen okostelefont vegyek?
- Mobil flották
-
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
-
#70211840
törölt tag
Nem tudom mennyire illik a topicba (bár szerepel a címben), kezdőként programozási kérdésem volna.
Szóljatok, ha off és menjek át a C++ programozás topicba.Elakadtam egy referencia átadásnál, nem értem miért nem csinálja meg.
Egy egyszerű I2C Scan a példa, aminél a main-ben hoznék létre és indítanék a TwoWire-t és egy másik osztályban szeretném ezt használni.
Viszont egyetlen eszközt sem talál, míg visszapakolva a loop()-ba a WireScanner::scanI2C tartalmát, rendben fut és listázza az eszközök címeit.Mit rontok el?
Test.ino
#include <Wire.h>
#include "WireScanner.h"
TwoWire wirePort(PB11, PB10); // STM32F103 I2C_2
WireScanner ws(wirePort);
void setup() {
Serial.begin(9600);
wirePort.begin();
}
void loop() {
ws.scanI2C();
delay(5000); // wait 5 seconds for next scan
}
WireScanner.h
#ifndef WireScanner_h
#define WireScanner_h
#include <Wire.h>
class WireScanner {
public:
WireScanner(TwoWire& i2cPort);
void scanI2C(void);
};
#endif
WireScanner.cpp
#include "WireScanner.h"
TwoWire _i2cPort;
WireScanner::WireScanner(TwoWire& i2cPort) {
_i2cPort = i2cPort;
}
void WireScanner::scanI2C(void) {
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for (address = 1; address < 127; address++) {
_i2cPort.beginTransmission(address);
error = _i2cPort.endTransmission();
if (error == 0) {
Serial.print("I2C device found at address 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
nDevices++;
} else if (error == 4) {
Serial.print("Unknown error at address 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found");
else
Serial.println("done");
}
Új hozzászólás Aktív témák
- Milyen légkondit a lakásba?
- exHWSW - Értünk mindenhez IS
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Apple MacBook
- Formula-1 humoros
- Részesedést vásárolt az Intelben az NVIDIA
- sziku69: Fűzzük össze a szavakat :)
- Linux felhasználók OFF topikja
- Ezek az új Google Pixel cuccok hivatalos magyar árai
- Xiaomi 15 - kicsi telefon nagy energiával
- További aktív témák...
- Bivaly Lenovo T14 gen5 (Core Ultra 7 32Gb DDR5 1 Tb SSD) laptopom eladó 2 év gyártói garanciával!
- Dell G15 Gamer laptop - DLL5511306108
- Xbox One X 1TB+ 2 kontroller 1 limitált alig használt, sérülés mentes+ 3 type c akksi
- Creality Ender 3 V3 SE + Nebula Smart Kit (kamera, G szenzor, érintőképernyő, Klipper)
- Újsz. ERŐMŰ Lenovo P1 G3 (4K Intel Core I9 10885H 32Gb 512Gb) Tervező/vágó/gamer - Nvidia 4Gb Touch
- Lian Li LCD-s 360mm-es vízhűtés akciós áron eladó!
- GYÖNYÖRŰ iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3074, 100% Akkumulátor
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 Ti 16GB GAMER P termékbeszámítással
- GYÖNYÖRŰ iPhone XR 64GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3117
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest