ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
1 июля
230219 Топик полностью
ZED“ (22.12.2010 17:52, просмотров: 1) ответил GDI на Это универсальный код, если Вам они не нужны и никогда не понадобятся, то выкиньте. Хотя смею предположить что при некотором уровне оптимизации компилятор их сам выкинет, т.е. в самой прошивке их и не будет.
Я так понял, что когда кадр (фрейм) находится в приемном буфере, а точнее он может находиться сразу в нескольких буферах, то в дескрипторах этих буферах автоматически устанавливается бит used (Ownership = '1'). Помимо всего прочего, в дескрипторах начального буфера и в конечного буфера, где располагается принимаемый фрейм, установлены биты начала кадра SOF и конца кадра EOF. В дескрипторе буфера, где расположен бит конца кадра EOF в слове статуса в битах 0..11 содержится информация о длине фрейма. Тогда можно предложить следующий алгоритм принятия фрейма:Среди всех буферов с установленным битом Ownership найти буфер с установленным битом начала кадра SOF и буфер с установленным битом конца кадра EOF. Для последнего считать длину. Если таковые не найдены - кадр не принимать!Если буферы с SOF и EOF найдены, значения из них и всех буферах между ними переписать в память функцией memcpy и сбросить бит Ownership.