Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Отчеты по практике » Розробка функцій для класу інтерфейсу між модулем УШ і модулем протоколу RTP

Реферат Розробка функцій для класу інтерфейсу між модулем УШ і модулем протоколу RTP





n="justify"> if (m_iPlayBackGetInd [i] == m_ucMaxPlayBackBufInd) m_iPlayBackGetInd [i] = 0; _PlayBackBuf.unlock ();

}

# ifndef ___ PC

// записати дані за допомогою інтерфейсу HPI

// пишемо за допомогою проміжного буфера, щоб не затримувати блокування m_pvPlayBackBuf на час запису в DSP

if ((ires = (dsp6713b_write_IS (m_devd, (unsigned int) puiAddress, m_pvTmpPlayBackBuf, DUMP_SIZE))))

{

dsp6713b_reset (m_devd); b_close (m_devd); (" n!! t_UHInterface :: PutDataToUH% i: DSP2_write_IS error! n Addr =% 08x Res =% i n", m_ucUHNum ,

(unsigned int) puiAddress, ires);

exit (1);

}

# endif ((p_DOUT) && (ParamRtpPrint [m_ucIndDO]))

{

printf ("<

// k = 1; = 0x80000000; (i = 31; i> = 0; i -)

{

if (ParamRtpPrint [m_ucIndDO] & k)

("[% i]: CN-% 01x, tone-% 02x, size-% i, newCtrl-% i n", i,

(m_pvTmpPlayBackBuf + i) -> m_vSDataCtrl.CN,

(m_pvTmpPlayBackBuf + i) -> m_vSDataCtrl.Tone, uiSize, (m_pvTmpPlayBackBuf + i) -> m_vSDataCtrl.NewLineCtrl); (uiSize)

{[0] = ' 0'; (ii = 0, j = 0, n = 0; (j

{(& buf1 [ii], 400, "% 02X", pucData [j]); + = 3; ((ii <399) && (n == 30 )) {n = 0; buf1 [ii + +] = ' n';}

} (buf1);

}

}>> = 1;

}

}

return (true);

}

/** ПРИЗНАЧЕННЯ: помістити дані КД в буфер відтворення

* ВХІДНІ ПАРАМЕТРИ: ucCI - номер канального інтервалу [0-31],

* vSData - дані,

* ВИХІДНІ ПАРАМЕТРИ: sizeof (Sdata) - успішне виконання,

* 0 - дані не приміщення, тому що буфер відтворення порожній

* -1 - номер КІ> 31

*/t_UHInterface :: PutDataToPlayBackBuf (unsigned char ucCI, SData & vSData)

{

int n;

// printf ("=== RTP: PutDataToPlayBackBuf n"); (ucCI> 31) return (-1); _PlayBackBuf.lock ();


n = m_iPlayBackPutInd [ucCI] <<5;

// поміщаємо дані в буфер накопичення

m_pvPlayBackBuf [ucCI + n] = vSData;

m_iPlayBackPutInd [ucCI] + +;// збільшуємо значення індексу для наступного приміщення даних (m_iPlayBackPutInd [ucCI] == m_ucMaxPlayBackBufInd) m_iPlayBackPutInd [ucCI] = 0;// циклічний перехід в начало_iPlayBackIndDelta [ucCI] + +;// збільшуємо відстань по відношенню до індексу для вилучення

if (m_iPlayBackIndDelta [ucCI]> m_ucMaxPlayBackBufInd)

{

// фіксуємо стан переповнення буфера відтворення

printf ("PlayBack buf overflow for% i n", ucCI);

} _PlayBackBuf.unlock (); (sizeof (SData));

}

/** ПРИЗНАЧЕННЯ: очистити буфер відтворення для КІ

* ВХІДНІ ПАРАМЕТРИ: ucCI - номер канального інтервалу [0-31],

* ВИХІДНІ ПАРАМЕТРИ: true - успішно

* false - помилка: номер КІ> 31

*/t_UHInterface :: ClearDataInPlayBackBuf (unsigned char ucCI)

{(ucCI> 31) return (false); _PlayBackBuf.lock (); _pvTmpPlayBackBuf [ucCI]. m_vSDataCtrl.SpeachSize = 0; return (true);

}

/** ПРИЗНАЧЕННЯ: отримати порцію даних з буфера накопичення

* ВХІДНІ ПАРАМЕТРИ: ucCI - номер канального інтервалу,

* vSData - структура для приміщення даних,

* ВИХІДНІ ПАРАМЕТРИ: true - дані витягнуті з буфера накопичення,

* false - в буфері накопичення немає даних

*/t_UHInterface :: GetAccumulatedData (unsigned char ucCI, SData & vSdata)

{

int n; _AccumulatedData.lock (); (m_iAccIndDelta [ucCI]> ACCBUFF_DEPTH)// переповнення

{

while (m_iAccGetInd [ucCI]! = m_iAccPutInd [ucCI])

{_iAccGetInd [ucCI] + +; _iAccIndDelta [ucCI] -;

// циклічний перехід в початок буфера

Назад | сторінка 9 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Розробка інтерфейсу користувача для роботи з базою даних &Автомайстерня&
  • Реферат на тему: Розробка клієнтського веб-інтерфейсу до бази даних туристичної фірми
  • Реферат на тему: Розробка пристрою індикації даних на РК-дисплеї, переданих по інтерфейсу RS ...
  • Реферат на тему: Розробка інтерфейсу користувача для роботи з базою даних Будинку культури