Библиотека LUFA (раннее название MyUSB) версия 101122
Многобайтовые потоки чтения/записи

Enumerations

enum  Endpoint_Stream_RW_ErrorCodes_t {
  ENDPOINT_RWSTREAM_NoError = 0,
  ENDPOINT_RWSTREAM_EndpointStalled = 1,
  ENDPOINT_RWSTREAM_DeviceDisconnected = 2,
  ENDPOINT_RWSTREAM_BusSuspended = 3,
  ENDPOINT_RWSTREAM_Timeout = 4,
  ENDPOINT_RWSTREAM_CallbackAborted = 5
}
enum  Endpoint_ControlStream_RW_ErrorCodes_t {
  ENDPOINT_RWCSTREAM_NoError = 0,
  ENDPOINT_RWCSTREAM_HostAborted = 1,
  ENDPOINT_RWCSTREAM_DeviceDisconnected = 2,
  ENDPOINT_RWCSTREAM_BusSuspended = 3
}

Functions

uint8_t Endpoint_Discard_Stream (uint16_t Length, StreamCallbackPtr_t Callback)
uint8_t Endpoint_Write_Stream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_EStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_PStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Stream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_EStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_PStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Stream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_EStream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Stream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_EStream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_Stream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_EStream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_PStream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_Stream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_EStream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Write_Control_PStream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Control_Stream_LE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Control_EStream_LE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Control_Stream_BE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)
uint8_t Endpoint_Read_Control_EStream_BE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1)

Detailed Description

Функции, макросы, переменные, перечисления и типы, связанные с чтением и записью потоков данных из конечных точек и в конечные точки.


Enumeration Type Documentation

Перечисление для возможных кодов возврата ошибки из функций Endpoint_*_Control_Stream_*.

Enumerator:
ENDPOINT_RWCSTREAM_NoError 

Команда выполнена успешно, ошибок нет.

ENDPOINT_RWCSTREAM_HostAborted 

Передача преждевременно прервана.

ENDPOINT_RWCSTREAM_DeviceDisconnected 

Устройство отсоединено от хоста во время передачи данных.

ENDPOINT_RWCSTREAM_BusSuspended 

Шина USB переведена хостом в режим suspended (приостановлено), и далее невозможен никакой трафик USB через конечную точку, пока работа шины не будет возобновлена (resume).

Перечисление для возможных кодов возврата ошибки функций Endpoint_*_Stream_*.

Enumerator:
ENDPOINT_RWSTREAM_NoError 

Команда выполнена успешно, ошибок нет.

ENDPOINT_RWSTREAM_EndpointStalled 

Конечная точка переведена в состояние stalled во время переноса потока даннных хостом или устройством.

ENDPOINT_RWSTREAM_DeviceDisconnected 

Устройство отсоединено от хоста во время передачи данных.

ENDPOINT_RWSTREAM_BusSuspended 

Шина USB переведена хостом в режим suspended (приостановлено), и далее невозможен никакой трафик USB через конечную точку, пока работа шины не будет возобновлена (resume).

ENDPOINT_RWSTREAM_Timeout 

Хост потерпел неудачу при принятии или отправке следующего пакета в пределах программного периода таймаута, установленного макросом USB_STREAM_TIMEOUT_MS.

ENDPOINT_RWSTREAM_CallbackAborted 

Показывает, что функция обратного вызова произвела преждевременный обрыв передачи.


Function Documentation

uint8_t Endpoint_Discard_Stream ( uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Читает и отбрасывает указанное количество байт от конечной точки из указанного буфера, отбрасывая полностью прочитанные от хоста пакеты, если необходимо. Последний пакет не отбрасывается автоматически, пока не будут прочитаны остальные байты; пользователь отвечает за ручное отбрасывание последнего пакета от хоста через макрос Endpoint_ClearOUT(). Между каждым пакетом USB, указанная функция callback делает повторяющиеся вызовы, пока не будет готов следующий пакет, что позволяет делать ранний обрыв (abort) потоковых передач.

Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.

Note:
Эта подпрограмма не должна использоваться на конечных точках типа CONTROL.
Parameters:
[in]Lengthколичество отправляемых данных через выбранную в настоящее время конечную точку.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Read_Control_EStream_BE ( void *  Buffer,
uint16_t  Length 
)

Версия Endpoint_Read_Control_Stream_BE() с буфером в EEPROM.

Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[out]Bufferуказатель на буфер назначения, куда будут записаны данные.
[in]Lengthколичество отправляемых данных через выбранную в настоящее время конечную точку.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Read_Control_EStream_LE ( void *  Buffer,
uint16_t  Length 
)

Версия Endpoint_Read_Control_Stream_LE() с буфером в EEPROM.

Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[out]Bufferуказатель на буфер назначения, куда будут записаны данные.
[in]Lengthколичество отправляемых данных через выбранную в настоящее время конечную точку.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Read_Control_Stream_BE ( void *  Buffer,
uint16_t  Length 
)

Читает указанное количество байт от конечной точки CONTROL в указанный буфер в формате big endian, отбрасывая польностью прочитанные пакеты от хоста по мере необходимости. Подтверждение IN не отправляется автоматически после состояния успеха или ошибки; пользователь отвечает за ручную отправку установки IN для завершения передачи с помощью макроса Endpoint_ClearIN().

Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[out]Bufferуказатель на буфер назначения, куда будут записаны данные.
[in]Lengthколичество отправляемых данных через выбранную в настоящее время конечную точку.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Read_Control_Stream_LE ( void *  Buffer,
uint16_t  Length 
)

Читает указанное количество байт от конечной точки CONTROL в указанный буфер в формате little endian, отбрасывая польностью прочитанные пакеты от хоста по мере необходимости. Подтверждение IN не отправляется автоматически после состояния успеха или ошибки; пользователь отвечает за ручную отправку установки IN для завершения передачи с помощью макроса Endpoint_ClearIN().

Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[out]Bufferуказатель на буфер назначения, куда будут записаны данные.
[in]Lengthколичество отправляемых данных через выбранную в настоящее время конечную точку.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Read_EStream_BE ( void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Версия Endpoint_Read_Stream_BE() с буфером в EEPROM.

Parameters:
[out]Bufferуказатель на буфер, куда будут записываться данные, размещенный в памяти EEPROM.
[in]Lengthколичество отправляемых данных через выбранную в настоящее время конечную точку.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Read_EStream_LE ( void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Версия Endpoint_Read_Stream_LE() с буфером в EEPROM.

Parameters:
[out]Bufferуказатель на буфер, куда будут записываться данные, размещенный в памяти EEPROM.
[in]Lengthколичество отправляемых данных через выбранную в настоящее время конечную точку.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Read_Stream_BE ( void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Читает указанное количество байт от конечной точки в указанный буфер в формате big endian, при необходимости отбрасывая полностью прочитанные от хоста пакеты. Последний пакет не отбрасывается автоматически, пока не будут прочитаны остальные байты; пользователь отвечает за ручное отбрасывание последнего пакета от хоста через макрос Endpoint_ClearOUT(). Между каждым пакетом USB указанный callback потока вызывается с повторениями, пока конечная точка не будет готова к принятию следующего пакета, учитывая ранние аварийные прекращения работы потоковых передач.

Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.

Note:
Эта подпрограмма не должна использоваться на конечных точках типа CONTROL.
Parameters:
[out]Bufferуказатель на буфер назначения, куда будут записаны данные.
[in]Lengthколичество отправляемых данных через выбранную в настоящее время конечную точку.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Read_Stream_LE ( void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Читает указанное количество байт от конечной точки в указанный буфер в формате little endian, при необходимости отбрасывая полностью прочитанные от хоста пакеты. Последний пакет не отбрасывается автоматически, пока не будут прочитаны остальные байты; пользователь отвечает за ручное отбрасывание последнего пакета от хоста через макрос Endpoint_ClearOUT(). Между каждым пакетом USB указанный callback потока вызывается с повторениями, пока конечная точка не будет готова к принятию следующего пакета, учитывая ранние аварийные прекращения работы потоковых передач.

Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.

Note:
Эта подпрограмма не должна использоваться на конечных точках типа CONTROL.
Parameters:
[out]Bufferуказатель на буфер назначения, куда будут записаны данные.
[in]Lengthколичество отправляемых данных через выбранную в настоящее время конечную точку.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_Control_EStream_BE ( const void *  Buffer,
uint16_t  Length 
)

Версия Endpoint_Write_Control_Stream_BE() с буфером в EEPROM.

Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_Control_EStream_LE ( const void *  Buffer,
uint16_t  Length 
)

Версия Endpoint_Write_Control_Stream_LE() с буфером в EEPROM.

Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_Control_PStream_BE ( const void *  Buffer,
uint16_t  Length 
)

Версия Endpoint_Write_Control_Stream_BE() с буфером во FLASH.

Precondition:
Данные из FLASH должны быть размещены в первых 64KB памяти FLASH, чтобы эта функция работала корректно.
Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_Control_PStream_LE ( const void *  Buffer,
uint16_t  Length 
)

Версия Endpoint_Write_Control_Stream_LE() с буфером во FLASH.

Precondition:
Данные из FLASH должны быть размещены в первых 64KB памяти FLASH, чтобы эта функция работала корректно.
Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_Control_Stream_BE ( const void *  Buffer,
uint16_t  Length 
)

Записывает указанное число байт в конечную точку типа CONTROL из указанного буфера в формате big endian, отправляя полные пакеты хосту по мере необходимости. Подтверждение хосту OUT не очищается автоматически и в состоянии ошибки, и в состоянии успешной передачи; пользователь отвечает за ручную очистку установки OUT для завершения передачи через макрос Endpoint_ClearOUT().

Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_Control_Stream_LE ( const void *  Buffer,
uint16_t  Length 
)

Записывает указанное количество байт в конечную точку типа CONTROL из указанного буфера в формате little endian, отправляя полные пакеты на хост по мере необходимости. Подтверждение хосту OUT не очищается автоматически и в состоянии ошибки, и в состоянии успешной передачи; пользователь отвечает за ручную очистку установки OUT для завершения передачи через макрос Endpoint_ClearOUT().

Note:
Эта функция автоматически очищает стадию статуса управляющей передачи. Не делайте попыток вручную очистить стадию статуса, когда эта процедура используется в управляющей транзакции.

Эта подпрограмма должна использоваться только с конечными точками типа CONTROL.
Warning:
В отличие от стандартных команд чтения/записи, команды потока управления не могут быть соединены друг с другом в цепочку; например, данные потока должны быть полностью прочитаны за один раз.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
Returns:
значение из перечисления Endpoint_ControlStream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_EStream_BE ( const void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Версия Endpoint_Write_Stream_BE() с буфером исходных данных в EEPROM.

Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_EStream_LE ( const void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Версия Endpoint_Write_Stream_LE() с исходным буфером в EEPROM.

Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_PStream_BE ( const void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Версия Endpoint_Write_Stream_BE() с буфером исходных данных во FLASH.

Precondition:
Данные из FLASH должны быть размещены в первых 64KB памяти FLASH, чтобы эта функция работала корректно.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_PStream_LE ( const void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Версия Endpoint_Write_Stream_LE() с исходным буфером во FLASH.

Precondition:
Данные из FLASH должны быть размещены в первых 64KB памяти FLASH, чтобы эта функция работала корректно.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_Stream_BE ( const void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Записывает указанное количество байт в конечную точку из указанного буфера в формате big endian, отправляя хосту полные пакеты по мере необходимости. Последний заполненный пакет не отправляется автоматически; пользователь сам отвечает за ручную отправку хосту последнего записанного пакета через макрос Endpoint_ClearIN(). Между каждым пакетом USB указанный callback вызывается с повторениями, пока конечная точка не будет готова к принятию следующего пакета, учитывая ранние аварийные прекращения работы потоковых передач.

Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.

Note:
Эта подпрограмма не должна использоваться на конечных точках типа CONTROL.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
uint8_t Endpoint_Write_Stream_LE ( const void *  Buffer,
uint16_t  Length,
StreamCallbackPtr_t  Callback 
)

Записывает указанное количество байт в конечную точку из указанного буфера в формате little endian, с отправкой по необходимости хосту полных пакетов. Последний заполненный пакет не отправляется автоматически; пользователь сам отвечает за ручную отправку хосту последнего записанного пакета через макрос Endpoint_ClearIN(). Между каждым пакетом USB указанный callback вызывается с повторениями, пока конечная точка не будет готова к принятию следующего пакета, учитывая ранние аварийные прекращения работы потоковых передач.

Подпрограмма callback должна быть создана в соответствии с информацией в Функции обратного вызова конечной точки и потока канала. Если токен NO_STREAM_CALLBACKS передается компилятору через опцию -D, поток функции callback запрещается и параметр этой функции Callback пропускается.

Note:
Эта подпрограмма не должна использоваться на конечных точках типа CONTROL.
Parameters:
[in]Bufferуказатель на буфер, откуда читаются данные.
[in]Lengthколичество читаемых байт из буфера для выбранной в настоящий момент конечной точки.
[in]Callbackимя подпрограммы callback для вызова между последовательными пакетными передачами USB, NULL если callback отсутствует.
Returns:
значение из перечисления Endpoint_Stream_RW_ErrorCodes_t.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines