Hirdetés
- sziku69: Szólánc.
- urandom0: Száműztem az AI-t az életemből
- droidic: [Memory Leak] Az agy defragmentálása
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Harcban az adathalászokkal - az AI tud segíteni?
- gban: Ingyen kellene, de tegnapra
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
-
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_2WireScanner 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);};#endifWireScanner.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");elseSerial.println("done");}
Új hozzászólás Aktív témák
- sziku69: Szólánc.
- AMD Navi Radeon™ RX 9xxx sorozat
- Apple MacBook
- QNAP hálózati adattárolók (NAS)
- Mikor pukkad ki a robotlufi?
- PROHARDVER! feedback: bugok, problémák, ötletek
- Poco F8 Ultra – forrónaci
- urandom0: Száműztem az AI-t az életemből
- GL.iNet Flint 2 (GL-MT6000) router
- Kerékpársportok
- További aktív témák...
- Apple MacBook Air 13 M1 8GB 256GB magyar bill 1 év garancia
- Microsoft Surface Pro 7+ - Újszerű, billentyűzettel és ceruzával
- Google Pixel 10 Pro XL Moonstone Super Actua 120 Hz, Pro kamera 5 zoom 256 GB Használt,Gari
- BESZÁMÍTÁS! ASUS H510M i5 11500 16GB DDR4 512GB SSD RX 7600 8GB Zalman T4 Plus be quiet! 600W
- Acer Nitro 5 - AN515 - 15.6"FHD IPS 144Hz - i5-10300H - 8GB - 512GB - Win11 - GTX 1650 - MAGYAR
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold
