[an error occurred while processing this directive]
|
я получаю длину пакета, вычитая из головы хвост. Затем проверяю, вылезает ли сумма хвоста с длиной за пределы буфера, если не вылезает, просто memcpy (только при помощи DMA). Если вылезает - то два memcpy - остаток буфера в конце и продолжение его с начала.
А если не DMA - так замаскируйте лишние биты, и адресуйтесь как "base+(ptr&mask)" - цикличнось автоматически получится. Ну или юзайте аппаратную циклическую адресацию, если в примененном процессоре она есть.
E-mail: info@telesys.ru