Шлюз ZigBee и GPRS

дипломная работа

3.2 Использование UART в стеке BitCloud

Для настройки USART порта нужно использовать глобальную переменную HAL_UsartDescriptor_t типа. Настройки применяются вызовом функции HAL_OpenUsart() с аргументом переменной типа HAL_UsartDescriptor_t [9] . Возвращаемое значение указывает, является ли порт успешно открыт и может быть использована для обмена данными. Когда нет больше необходимости держать USART порт активный, приложение должно закрыть его с помощью функции HAL_CloseUsart () на рис.3.2.

Для передачи данных вызывается функция HAL_WriteUsart (), с аргументами указателя на буфер данных и размера передаваемых данных. Если функция возвращает значение больше 0 ( txCallback() ), то передача данных завершена [1].

Рис. 3.2 UART обмен данными в режиме обратного вызова.

При приеме rxCallback() указывает на функцию, которая должна выполняться каждый раз, когда данные поступают в rxBuffer, аргумент - количество принятых байт. Зная количество полученных данных, читаем их из буфера с помощью функции HAL_ReadUsart ().

На рис.3.3 показан фрагмент кода, который показывает как настроить UART порт, так чтобы обе операции выполнены в режиме обратного вызова.

Рис.3.3 Настройка UART порта в режим обратного вызова.

Делись добром ;)