Я пытаюсь написать изображение через UART на Beaglebone Black. Но когда я использую функцию write()
в библиотеке.с использованием функции write() в C/C++ для Linux для записи 70kB через UART Beaglebone Black
int write(int handle, void *buffer, int nbyte);
Независимо от agurment nbyte
имеет int
тип, я не могу передать 70kb сразу. Я показал количество байт, которое перетекает, и в результате число байт = 4111.
length = write(fd,body.c_str(),strlen(body.c_str())); //
cout<<length<<endl; // result length = 4111;
cout<<strlen(body.c_str())<<endl; // result strlen(body.c_str()) = 72255;
Я надеюсь услышать от вас!
Вы пытались записать оставшиеся данные до тех пор, пока все не будет передано? – nwp
Если 'body' является объектом' std :: string', почему бы не использовать 'body.length()' (или 'body.size()') вместо этих вызовов 'strlen'? –
Что касается вашей проблемы, считаете ли вы, что писать в цикле? –