Все-таки я переделал протокол передачи данных. Теперь пакеты могут иметь разную форму и хранить данные разной длинны: 1бит, 4 бита, 8бит, 16бит или 24бит, да хоть 128бит, в любых комбинациях. Сейчас сделал два вида пакета: для отладки и для чтения флэшки. Теперь флэшка считывается примерно за 20секунд, раньше, со старым протоколом это было около 4минут, из-за того, что куча не нужного по нему шла. Длину пакета оставил такой же 22байта. Первый байт 0xFE это признак начала пакета, а вот второй байт системный в нем как раз и задается тип пакета, чтобы на стороне компьютера его правильно принять. Так же в этом пакете старшая тетрада используется для дополнительного контроля четности, в ней значения меняются от 0 до 15, для всех отправляемых пакетов. Сделал на всякий случай, бывало, что пакеты выпадали, когда программа на компе сильно загружалась. Сделал эту четность для подстраховки, чтобы увидеть такие моменты и подправить тормоза в проге для компа.

img

img