-
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
-
#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
- ÚJ (Pici hibával) Asus ROG Chakram X Bolti ár:55k INGYEN FOXPOST
- ÚJ Asus ROG Chakram Bolti ár:55k INGYEN FOXPOST
- ASUS ROG Gladius III Wireless Bolti ár:40k INGYEN FOXPOST
- ÚJ/Használt HyperX Pulsefire Haste Egerek Fehér/Fekete Bolti ár:20k INGYEN FOXPOST
- Lenovo Thinkpad T14s FHD, Érintőkijelző, I5-10210U CPU, 16GB DDR4, 256GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV G
- Dell Latitude E7440 - i5, 8GB RAM, HDMI, eu bill - számla, 6 hó garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Gamer PC-Számítógép! Csere-Beszámítás! I5 14400F / RTX 3060Ti / 32GB DDR5 / 512GB SSD!
- Byintek Love U14 Projektor
- Eladó egy oneplus 9 pro 256/12
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
ekkold
