Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
|
||||
|
количество половинок буфера больше двухЗдравствуйте, подскажите пожалуйста, где можно прочитать про организацию большого кольцевого буфера подробно? В описании
ничего не сказано про половинки кольцевого буфера. При этом в прилагаемом к библиотеке примере они используются.
Например, у меня получилась длина большого кольцевого буфера - 30001152 слов. При этом количество страниц IrqStep в кольцевом буфере PC равно 32, а сама переменная IrqStep определена как 32768, т.е. по этим данным получается длина буфера 1048576 - ровно (?!) в 28 раз меньше полученной длины кольцевого буфера. Как используется остальная часть кольцевого буфера? Можно ли через счетчик *sync адресовать пространство буфера, не дожидаясь заполнения его частей (как это можно понять из описания)? спасибо, |
|||
|
||||
|
Re: количество половинок буфера больше двухЯ так понимаю Вы выделили память 30001152. А дальше Вы задействовали только ее часть 32 * 32768. Только эту часть и будет заполнять данными модуль. В пример данные забираются просто по заполнению половины используемого буфера... (то одной, то другой). Если нужно использовать больший буфер, то увеличивайте параметры и pages и IrqStep. Больший буфер выделяется с запасом чтобы не делать перевыделение памяти при необходимости изменить pages и IrqStep. *sync меняется только в пределах pages*IrqStep. |
|||
|
||||
|
Re: количество половинок буфера больше двухЗдравствуйте! |
|||
|
||||
|
Re: количество половинок буфера больше двух6144 это максимум что плата может у себя внутри выставить. Просто запустите пример и дождитесь когда будет sync >10000. Тогда в буфере будет 10000 валидных отсчетов. Если нужно однократно,то AutoInt в 0. |
|||
|
||||
|
Re: количество половинок буфера больше двухА какие значения необходимо установить в поля FIFO, IrqStep и Pages? Какой физический смысл данных переменных? |
|||
|
||||
|
Re: количество половинок буфера больше двухfifo - это половинка буфера в плате; irqstep - это то какими порциями драйвер забирает данные из платы. pages - множитель при задании кольцевого буфера в драйвере - irqstep*pages. Для начала оставить можно как в примере... |
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск