Дублируется массив в другой функции
кодировал сообщение в Base64 (используя эту библиотеку https://github.com/Densaugeo/base64_arduino) в одной функции, а в другой получал и декодировал, но потом заметил, что при получении - локальный массив ret_b функции b частично дублирует массив ret функции a. Использую ESP8266. Что не так в коде, долго копаюсь - так и не понял.. Вот пример:
#include "base64.hpp"
void a() {
unsigned char arr[300];
unsigned char ret[180];
arr[0] = 0x00;
arr[1] = 0x00;
arr[2] = 0x07;
arr[3] = 0x00;
arr[4] = 0x00;
arr[5] = 0x00;
arr[6] = 0x00;
arr[7] = 0x00;
arr[8] = 0x00;
arr[9] = 0x00;
arr[10] = 0x00;
arr[11] = 0x00;
arr[12] = 0x00;
arr[13] = 0x00;
arr[14] = 0x08;
arr[15] = 0x00;
arr[16] = 0x07;
arr[17] = 0x00;
arr[18] = 0x00;
arr[19] = 0x04;
arr[20] = 0x00;
unsigned int base64_length = encode_base64(arr, 21, ret);
Serial.println((char *)ret);
Serial.println(ret[0], HEX);
Serial.println(ret[1], HEX);
}
void b() {
unsigned char ret_b[180];
Serial.println((char *)ret_b);
Serial.println(ret_b[0], HEX);
Serial.println(ret_b[1], HEX);
}
void setup() {
Serial.begin(9600);
a();
Serial.println();
b();
}
void loop() {
// put your main code here, to run repeatedly:
}
Вывод:
AAAHAAAAAAAAAAAAAAAIAAcAAAQA
41
41
AAAAAAAAAAAAAAAIAAcAAAQA
41
41