Arduino 72 Elemanlı Char Dizisini String Yapma
-
arduinoda char var[72] şeklinde bir dizi oluşturdum ve içindeki elemanları, sensör verilerini taklit edecek şekilde bir kod yazdım ki test edebileyim projemi.
var[0]="0";
var[1]="1";
var[2]="A";
şeklinde hexadecimal karakterler var içinde. 0123456789ABCDEF
fakat ben bu char diziyi nasıl string yaparım sorusunu, "döngüde hallederim yeaa" şeklinde cevaplıyordum. ve o kısma geldiğimde patladım. :d Yapamıyom yardım edin. :D
umarım bunu yapmak mümkündür çöpe gitmesin oluşturduğum şey 2 gündür buna uğraştım. arduino, c tabanlı wiring dili kullanıyor.
-
Arduino C++ tabanlı çalışıyor ki zaten o yüzden String ifadesi tanımlayabiliyorsun. C'de ise char array ile string oluşturuyorsun.
https://www.geeksforgeeks.org/convert-character-array-to-string-in-c/
-
char veli[72];
string ali;
veli[0]='1';
veli[1]='2';
.
.
.
veli[72]='73';
veli[73]='\0'; //array sonu
ali = string(veli);
-
char var[72];
dizisini seri porttaSerial.println(var);
şeklinde deneyince oldu. Bir de kodda for döngülerindefor(int i=0;i<5;i++)
şeklinde değil de şöyle yerlerini karıştırmışım saçmalamışımfor(int i=0;i++;i<5)
bu nedenle output alamıyormuşum internette bulduğum yöntemler for döngülerini düzeltince çalıştı. :DFakat şu https://forum.arduino.cc/index.php?topic=553372.0 konudaki yorumlara bakarsak büyük boyutlu stringlerde saçmalamaya başlıyormuş. Burada devreye @pSkpt hocamın attığı linkte bulunan 3 yöntemden biri devreye giriyor.
Benim kod çok büyük sayılmaz arduinoda 5320 byte yer kaplıyormuş. @pSkpt hocam, @ComputerWolf hocam çok sağolun vakit ayırdığınız için.
Edit: Yazım hatası.