Я собираюсь реализовать некоторый алгоритм в motosb. Мне нужно сделать, взять файл и разделить его на более мелкие объекты, а затем разделить объект на еще меньший объект, называемый страницами, как описано на рисунке ниже.Как разбить массив на определенный размер
После этого страница будет передаваться по беспроводному каналу на другой канал. Один за раз назывался пакетом.
У меня есть массив с 2000 байт, которые я хочу, чтобы пролилась вверх, как показано на рисунке, требование страницы является то, что пакет должен быть не менее 110 байт каждый или меньше.
nx_uint16_t file[1000];
int j, A;
for (j = 0;j<1000;j++)
{
int ra = (rand() +1) % 10;
}
A = sizeof(file);
printf("\n Array size: %d Bytes", A);
Любая помощь будет принята с благодарностью.
У меня есть буфер/массив из 2000 байт и вы хотите передать 110 байтов за раз и до тех пор, пока не будут переданы все 2000 байт. Вы сказали, что это даст 2000/110 = 18,18 кусков. Но как насчет 0,18? Я не хочу работать с поплавками. – RamHS
У вас будет 19 пакетов. Последний пакет содержит только 0,18 оставшуюся часть данных. Вы можете применить некоторое дополнение, чтобы сделать его 110 байтами. –