1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #ifndef __BLL_SINGLE_LINE_HALF_DUPLEX_H__
- #define __BLL_SINGLE_LINE_HALF_DUPLEX_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /*Includes ------------------------------------------------------*/
- #include "fml_single_line_simplex.h"
- /*Private macro ------------------------------------------------*/
- /*STRUCTION -----------------------------------------------------*/
- typedef enum
- {
- BLL_SINGLE_LINE_HALF_DUPLEX_ROLE_HOST = FML_SINGLE_LINE_SIMPLEX_ROLE_HOST, //角色 —— 主机
-
- BLL_SINGLE_LINE_HALF_DUPLEX_ROLE_SLAVE = FML_SINGLE_LINE_SIMPLEX_ROLE_SLAVE //角色 —— 从机
-
- } BLL_SINGLE_LINE_HALF_DUPLEX_ROLE_e;
- typedef void (*bll_single_line_half_duplex_receive_cb)(uint8_t byte);
- /*API -------------------------------------------------------*/
- /**
- @brief 初始化单线半双工业务
- @param role - [in] 角色
- @return 错误代码 - [out] -1失败,0成功
- */
- int bll_single_line_half_duplex_Init(BLL_SINGLE_LINE_HALF_DUPLEX_ROLE_e role);
- /**
- @brief 单线半双工传输是否可发送
- @param 无
- @return 错误代码 - [out] -4不能使用,-3没有连上线,-2处于接收周期,-1正在发送中,0成功
- */
- int bll_single_line_half_duplex_is_ready_to_transfer(void);
- /**
- @brief 单线半双工传输 —— 发送
- @param byte - [in] 发送的字节
- @return 错误代码 - [out] -3不能使用,-2发送失败,-1没准备好传输,0成功
- */
- int bll_single_line_half_duplex_transfer_onebyte(uint8_t byte);
- /**
- @brief 单线半双工传输 —— 接收
- @param cb - [in] 接收回调函数
- @return 错误代码 - [out] -1失败,0成功
- */
- int bll_single_line_half_duplex_receive_register(bll_single_line_half_duplex_receive_cb cb);
-
- #ifdef __cplusplus
- }
- #endif
- #endif
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|