- Samsung Galaxy A55 - új év, régi stratégia
- Samsung Galaxy S23 Ultra - non plus ultra
- One mobilszolgáltatások
- Elkészült és telepíthető az Android 16
- Milyen okostelefont vegyek?
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Mobil flották
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy A54 - türelemjáték
- Netfone
-
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
-
fpeter84
senior tag
Sziasztok ismét!
Írtam egy saját lib-et kwp1281 protokol olvasáshoz, ami egymaga tökéletesen működik. A szépséghibája, hogy úgy tudtam megoldani a nem blokkoló és timeout-ot is figyelő adatgyűjtést a sorosportról, hogy egy globális rxbufferbe gyűjtögeti az információkat. Emiatt viszont ha egy második instance-ot is szeretnék inicializálni belőle, akkor az ugye ugyanabba az rxbufferbe dolgozna és szétgányolnák egymás adatait...
Csináltam egy egyszerű tesztlibet, amiben látszik hogy mi a problémám... Ezt hogyan illik feloldani, hogyan kellene úgy gyűjtenem egymástól függetlenül az adatokat hogy ne írjanak egymásra?
test_lib.ino
#include <test_lib.h>
test_lib instance0;
test_lib instance1;
void setup() {
Serial.begin(115200);
instance0.test_print();
instance1.test_print();
instance0.test_input(1,2,3,4,5,6,7,8);
instance1.test_input(8,7,6,5,4,3,2,1);
instance0.test_print();
instance1.test_print();
}
void loop() {
}
test_lib.h
#include <Arduino.h>
class test_lib
{
public:
void test_input(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
void test_print();
};
test_lib.cpp
#include "test_lib.h"
uint8_t testbuff[8];
void test_lib::test_input(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7) {
testbuff[0] = d0;
testbuff[1] = d1;
testbuff[2] = d2;
testbuff[3] = d3;
testbuff[4] = d4;
testbuff[5] = d5;
testbuff[6] = d6;
testbuff[7] = d7;
}
void test_lib::test_print() {
Serial.print(testbuff[0]); Serial.print(" ");
Serial.print(testbuff[1]); Serial.print(" ");
Serial.print(testbuff[2]); Serial.print(" ");
Serial.print(testbuff[3]); Serial.print(" ");
Serial.print(testbuff[4]); Serial.print(" ");
Serial.print(testbuff[5]); Serial.print(" ");
Serial.print(testbuff[6]); Serial.print(" ");
Serial.println(testbuff[7]);
}
A program eredménye ugye az, hogy 2x kiírja a 8 7 6 5 4 3 2 1 sort ahelyett, hogy 1 2 3 4 5 6 7 8 és 8 7 6 5 4 3 2 1 lenne a végeredmény...
Új hozzászólás Aktív témák
- AMD Ryzen 7 7700X - Új, 1 év garancia - Eladó!
- Apple Watch ultra 2 49mm Natur Titanium, Új, 1 év Apple garanciával
- Gamer PC - R5 5600, RTX 3060 és 16gb RAM + GARANCIA
- HP Zbook 14 laptop (14FHD/I7-G5/8GB/128SSD/MagyarVilágítós)
- Jó áron ÁRON ELADÓ! Üzleti HP Elitebook 1040 G9 Laptop! / i5-1245U 16GB 256GB
- BESZÁMÍTÁS! ASUS STRIX B650E-E R7 7700 64GB DDR5 1TB SSD RTX 3080 10GB Thermaltake Ceres 500 850W
- BESZÁMÍTÁS! ASUS A520M R5 5600X 16GB DDR4 512GB SSD RTX 3060Ti 8GB Rampage SHIVA Enermax 650W
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- Samsung Galaxy Z Fold5 / 512 GB / 12 GB RAM / 1év Garanciával / Gyári Független
- Bomba ár! Dell Latitude 7420 - i7-1185G7 I 16GB I 512SSD I HDMI I 14" 4K I Cam I W11 I Garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged