-
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
- BESZÁMÍTÁS! ASUS H510M i5 10600K 16GB DDR4 512GB SSD RX 6600XT 8GB Zalman T4 Plus Cooler Master 700W
- ÚJ! NETGEAR R6700 Nighthawk AC1750 Dual Band Smart WiFi Router, Gigabit Ethernet (R6700)
- BESZÁMÍTÁS! ASUS H510M i5 11500 16GB DDR4 512GB SSD RX 6600XT 8GB Zalman T4 Plus Cooler Master 700W
- BESZÁMÍTÁS! ASUS H510M i5 10500 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman T4 Plus ADATA 600W
- Dyson Supersonic Origin (Fekete/Nikkel)
- BESZÁMÍTÁS! SAPPHIRE B650M R7 8700F 32GB DDR5 512GB SSD RX 6800XT 16GB Zalman Z1 GIGABYTE 750W
- ÁRGARANCIA!Épített KomPhone i5 14400F 16/32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- Apple iPhone 13 Mini 128GB,Újszerű,Dobozával,12 hónap garanciával
- HP Elitebook 735 G6 13 3 FHD Laptop AMD Ryzen 5 Pro 16 GB RAM 512GB SSD 6 hónap garanciával
- GeForce RTX 4060 (OEM HP) Garanciával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest
ekkold
