Разбираюсь с этим апнотом. Не понятно, каким образом в функции Get_byte() происходит обнаружение приема последнего байта? Ведь переменная j, которая передается в качестве второго аргумента этой функции, и которая сравнивается с нулем, инкрементируется data_pack.size раз и по идее не станет равной нулю ни при каких условиях. Ну, разве что размер получаемых данных превысит 255. Или я чего-то не доганяю?
На всякий случай прилагаю апнот.
Может быть правильней было бы сделать так:
for(j=data_pack.size;((j)&&(state == SUCCESS));j--)
state = Get_byte(data_pack.data_ptr++,j);
Прикрепленные файлы
AVR155.zip ( 10.02 килобайт )
Кол-во скачиваний: 50