- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- Meggyi001: RTX 5060 - Az új népkártya?
- bambano: Bambanő háza tája
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Meggyi001: Nyilvános wc-k.....még mindig hiánypótló...
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- btz: Internet fejlesztés országosan!
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
LOGOUT
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
- Redmi Note 12 Pro - nem tolták túl
- sziku69: Szólánc.
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Nvidia GPU-k jövője - amit tudni vélünk
- Kerékpárosok, bringások ide!
- Miért vezet mindenki úgy, mint egy állat?
- Star Trek
- Formula-1
- PROHARDVER! feedback: bugok, problémák, ötletek
- Mibe tegyem a megtakarításaimat?
- További aktív témák...
- Acer Nitro V 17 AI Gamer Laptop!Ryzen 7 260/RTX5070/32gb Ram/2tb Ssd/2560x1440-165hz IPS!
- 17" SNSV - N3450 proci, 12GB RAM, 256GB SSD - patika állapot, kitűnő akku!
- Asztali PC , i7 10700 , RTX 3070 , 32GB DDR4 , 512GB NVME , 1.5 TB HDD
- Asztali PC , i5 8400 , 1080 Ti 11GB , 16GB DDR4 , 500GB SSD
- Karcmentes Google Pixel Watch 3 (Obsidian fekete) Több mint 50.000 Ft Értékű Kiegészítővel!
- Legion Pro 7 RTX 4090-es laptop 999.000Ft-ért, HP, DELL, Lenovo dokkolók 12.300Ft-tól
- AKCIÓ! MSI Z77 MPOWER Z77 chipset alaplap garanciával hibátlan működéssel
- MacBook Pro 16 2021 M1 Pro 16GB 512GB 1 év garancia
- Bezámítás! HP Victus 16-D0655NG Gamer notebook - i5 10400H 16GB DDR4 512GB+1TB SSD RTX 3060 6GB W11
- BESZÁMÍTÁS! Apple Macbook Pro 13" 2020 M1 16GB 1TB SSD macbook garanciával hibátlan működéssel
Állásajánlatok
Cég: FOTC
Város: Budapest