-
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
-
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
- Keressek intel i7-i9!!
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/1TB FHD IPS
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Dell PowerEdge T110 II PC, Xeon E3-1220 v2 CPU, 32 GB DDR3 RAM, 2 x 1 TB SAS HDD
- Lenovo Tab M10 HD 64GB, Kártyafüggetlen, 1 Év Garanciával
- Eredeti DELL 240W töltők (LA240PM160)
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- HP Thunderbolt-dokkoló, 120W G4 (4J0A2AA)
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold
