3.24_433_RX版本:封装RF433模块,完成开机进入TX/RX模式并在开发板验证成功
This commit is contained in:
115
Core/Inc/rf433_tx_app.h
Normal file
115
Core/Inc/rf433_tx_app.h
Normal file
@ -0,0 +1,115 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* @file rf433_tx_app.h
|
||||
* @brief RF433 TX应用层接口
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef __RF433_TX_APP_H__
|
||||
#define __RF433_TX_APP_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "rf433.h"
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
/* ============================================================================
|
||||
* 数据类型定义
|
||||
* ============================================================================ */
|
||||
|
||||
/**
|
||||
* @brief TX状态机状态
|
||||
*/
|
||||
typedef enum {
|
||||
TX_STATE_INIT = 0, /**< 初始化状态 */
|
||||
TX_STATE_SENDING, /**< 发送中状态 */
|
||||
TX_STATE_WAITING, /**< 等待状态 */
|
||||
TX_STATE_IDLE, /**< 空闲状态 */
|
||||
} tx_state_t;
|
||||
|
||||
/**
|
||||
* @brief TX应用结构体
|
||||
*/
|
||||
typedef struct {
|
||||
tx_state_t state; /**< 当前状态 */
|
||||
uint32_t send_count; /**< 已发送次数 */
|
||||
uint32_t total_count; /**< 总发送次数 */
|
||||
uint32_t send_interval_ms; /**< 发送间隔(ms) */
|
||||
uint32_t last_send_time; /**< 上次发送时间 */
|
||||
rf433_register_t config; /**< RF433配置 */
|
||||
bool is_running; /**< 是否正在运行 */
|
||||
} rf433_tx_app_t;
|
||||
|
||||
/* ============================================================================
|
||||
* API函数声明
|
||||
* ============================================================================ */
|
||||
|
||||
/**
|
||||
* @brief 初始化TX应用层
|
||||
* @param config RF433配置参数
|
||||
* @retval RF433_OK 成功
|
||||
* @retval RF433_ERROR 参数错误
|
||||
*/
|
||||
rf433_error_t rf433_tx_app_init(const rf433_register_t *config);
|
||||
|
||||
/**
|
||||
* @brief 启动TX自动发送
|
||||
* @param count 总发送次数
|
||||
* @param interval_ms 发送间隔(ms)
|
||||
* @retval RF433_OK 成功
|
||||
* @retval RF433_ERROR 参数错误
|
||||
*/
|
||||
rf433_error_t rf433_tx_app_start(uint32_t count, uint32_t interval_ms);
|
||||
|
||||
/**
|
||||
* @brief 停止TX自动发送
|
||||
* @retval RF433_OK 成功
|
||||
*/
|
||||
rf433_error_t rf433_tx_app_stop(void);
|
||||
|
||||
/**
|
||||
* @brief 手动发送数据
|
||||
* @param data 数据指针
|
||||
* @param length 数据长度
|
||||
* @retval RF433_OK 成功
|
||||
* @retval RF433_ERROR 参数错误
|
||||
* @retval RF433_ERROR_BUSY 模块忙
|
||||
*/
|
||||
rf433_error_t rf433_tx_app_manual_send(uint8_t *data, uint16_t length);
|
||||
|
||||
/**
|
||||
* @brief TX任务函数(在主循环中调用)
|
||||
*/
|
||||
void rf433_tx_app_task(void);
|
||||
|
||||
/**
|
||||
* @brief 获取TX状态
|
||||
* @return 当前TX状态
|
||||
*/
|
||||
tx_state_t rf433_tx_app_get_state(void);
|
||||
|
||||
/**
|
||||
* @brief 获取已发送次数
|
||||
* @return 已发送次数
|
||||
*/
|
||||
uint32_t rf433_tx_app_get_send_count(void);
|
||||
|
||||
/**
|
||||
* @brief 获取总发送次数
|
||||
* @return 总发送次数
|
||||
*/
|
||||
uint32_t rf433_tx_app_get_total_count(void);
|
||||
|
||||
/**
|
||||
* @brief 重置TX计数器
|
||||
*/
|
||||
void rf433_tx_app_reset_count(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __RF433_TX_APP_H__ */
|
||||
Reference in New Issue
Block a user