Merhabalar. 8 elemanlı unsigned char tipinde bir dizim var.
unsigned char tsdata_1[8] = {0x05, 0xAE, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00};
Dizi içindeki 4. elemandaki 0x00 hex değerini bir döngünün içinde sürekli 4 arttırıp tekrar yerine koymak istiyorum. Yani 0x04, 0x08, 0x0C, 0x10... gibi. Basitçe mantıken şöyle bir şey denedim olmadı;
unsigned char tsdata_1[8] = {0x05, 0xAE, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00};
void loop()
{
tsdata_1[4] = tsdata_1[4] + 0x04;
}
Sizce nasıl yapabilirim?
Olmaması için bir sebep yok, neden olmadı?
Debug yapabiliyor musunuz?
Alıntı yapılan: certy - 12 Aralık 2018, 13:29:05Merhabalar. 8 elemanlı unsigned char tipinde bir dizim var.
unsigned char tsdata_1[8] = {0x05, 0xAE, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00};
Dizi içindeki 4. elemandaki 0x00 hex değerini bir döngünün içinde sürekli 4 arttırıp tekrar yerine koymak istiyorum. Yani 0x04, 0x08, 0x0C, 0x10... gibi. Basitçe mantıken şöyle bir şey denedim olmadı;
unsigned char tsdata_1[8] = {0x05, 0xAE, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00};
void loop()
{
tsdata_1[4] = tsdata_1[4] + 0x04;
}
Sizce nasıl yapabilirim?
@certyC dilinde dizi indexleri 0'dan baslar.
Dizinin 4. elemani ile islem yapmak icin index degeri olarak 3 kullanmaniz gerekir.
tsdata_1[3] = tsdata_1[3] + 0x04; /* tsdata_1'in 4. elemanini 4 arttir */