12.5.1. 函数列表¶
12.5.1.1. Function gx_ir_get_tx_carr_freq¶
-
void gx_ir_get_tx_carr_freq(unsigned short *freq, unsigned short *duty)¶
ir 获取发送载波配置 该函数获取发送载波的频率和占空比
- 参数
freq -- 红外发送载波频率(Hz)数据指针
duty -- 红外发送载波占空比数据指针,1~100
12.5.1.2. Function gx_ir_get_udrx_fifo_count¶
-
unsigned short gx_ir_get_udrx_fifo_count(void)¶
ir 自由模式接收fifo中的数据量 该函数返回自由模接收fifo中数据个数
- 参数
ir_dev -- IR 设备数据
- 返回
unsigned short 数据个数
12.5.1.3. Function gx_ir_get_udrx_fifo_data¶
-
unsigned int gx_ir_get_udrx_fifo_data(void)¶
ir 自由模式接收fifo中的数据 该函数返回自由模接收fifo中一个数据
- 参数
ir_dev -- IR 设备数据
- 返回
unsigned int fifo中数据
12.5.1.4. Function gx_ir_get_udrx_fifo_depth¶
-
unsigned char gx_ir_get_udrx_fifo_depth(void)¶
ir 获取ud模式rx fifo深度 该函数返回ud模式rx fifo深度-1
- 返回
unsigned char ud模式rx fifo深度-1
12.5.1.5. Function gx_ir_get_udtx_fifo_count¶
-
unsigned short gx_ir_get_udtx_fifo_count(void)¶
ir 自由模式发送fifo中的数据 该函数返回自由模发送fifo中一个数据
- 参数
ir_dev -- IR 设备数据
- 返回
unsigned int fifo中数据
12.5.1.6. Function gx_ir_get_udtx_fifo_depth¶
-
unsigned char gx_ir_get_udtx_fifo_depth(void)¶
ir 获取ud模式tx fifo深度 该函数返回ud模式tx fifo深度-1
- 返回
unsigned char ud模式tx fifo深度-1
12.5.1.7. Function gx_ir_init¶
-
int gx_ir_init(GX_IR_CFG_T *cfg)¶
ir 初始化 该函数初始化红外模块的载波频率和占空比, 初始化结果状态由返回值返回
- 参数
cfg -- 红外设备配置数据
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
12.5.1.8. Function gx_ir_is_stdtx_busy¶
-
bool gx_ir_is_stdtx_busy(void)¶
ir 标准模式发送是否忙
- 参数
ir_dev -- IR 设备数据
- Returns true
忙
- Returns false
空闲
- 返回
bool 发送是否忙
12.5.1.9. Function gx_ir_is_udrx_done¶
-
bool gx_ir_is_udrx_done(void)¶
ir 自由模接收是否完成
- 参数
ir_dev -- IR 设备数据
- Returns true
完成
- Returns false
未完成
- 返回
bool 接收是否完成
12.5.1.10. Function gx_ir_recv_cfg¶
-
int gx_ir_recv_cfg(const GX_HAL_IR_RX_CFG_T *rx, unsigned char mode, unsigned char on_or_off)¶
ir 接收配置 该函数配置红外模块的接收参数,可使能滤波消抖,解调等功能
- 参数
ir_dev -- IR 设备数据
rx -- 红外接收配置数据
mode -- 红外接收模式,GX_IR_RECV_STD_MODE 标准模式, GX_IR_RECV_UD_MODE 自由模式
on_or_off -- 红外接收开关, GX_IR_ON 开, GX_IR_OFF 关
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
12.5.1.11. Function gx_ir_recv_data_std¶
-
int gx_ir_recv_data_std(const GX_HAL_IR_RX_CFG_T *rx, unsigned int *data, unsigned char *type, unsigned int timeout)¶
ir 接收标准协议数据 该函数可接收内置的 4 中标准协议数据
- 参数
ir_dev -- IR 设备数据
rx -- 红外接收配置数据
data -- 接收数据存放的 buffer
type -- 接收到的数据协议类型,0:9012, 1:NEC, 2:RC5, 3:RC6,bit8置1(0x80)表示重复码
timeout -- 接收超时时间
- Returns 0
接收键值成功
- Returns 0x10
GX_IR_REPEAT 接收重复码成功
- Returns 0x10000000
接收错误,错误码为以下值相或
- Returns 0x08
GX_IR_CUSTOM_CODE_ERR CUSTOM_CODE 校验错
- Returns 0x04
GX_IR_COMMAND_CODE_ERR COMMAND_CODE 校验错
- Returns 0x01
GX_IR_PORT_DET_ERR 协议解析出错
- 返回
int 是否成功
12.5.1.12. Function gx_ir_recv_data_ud¶
-
int gx_ir_recv_data_ud(const GX_HAL_IR_RX_CFG_T *rx, unsigned int *buf, unsigned int buf_len, unsigned int timeout)¶
ir 接收自定义协议数据 该函数可接收自定义协议数据,以波形的电平和长度格式存储数据,参考 /ref GX_IR_UD_DATA_T 的定义
- 参数
ir_dev -- IR 设备数据
rx -- 红外接收配置数据
buf -- 接收数据存放的 buffer
buf_len -- 接收到的数据长度
timeout -- 接收超时时间
- Returns 0
成功
- Returns -1
失败
- Returns -2
超时
- 返回
int 是否成功
12.5.1.13. Function gx_ir_recv_std_it_start¶
-
int gx_ir_recv_std_it_start(const GX_HAL_IR_RX_CFG_T *rx)¶
ir 中断方式接收标准协议数据 该函数可接收内置的 4 种标准协议数据
- 参数
ir_dev -- IR 设备数据
rx -- 红外接收配置数据
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
12.5.1.14. Function gx_ir_recv_std_stop¶
-
void gx_ir_recv_std_stop(void)¶
ir 停止接收标准协议数据,会重置RC5和RC6协议的翻转位。
- 参数
ir_dev -- IR 设备数据
12.5.1.15. Function gx_ir_recv_ud_it_start¶
-
int gx_ir_recv_ud_it_start(const GX_HAL_IR_RX_CFG_T *rx)¶
ir 中断方式接收自定义协议数据 该函数可接收自定义协议数据
- 参数
ir_dev -- IR 设备数据
rx -- 红外接收配置数据
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
12.5.1.16. Function gx_ir_recv_ud_stop¶
-
void gx_ir_recv_ud_stop(void)¶
ir 停止接收自定义协议数据
- 参数
ir_dev -- IR 设备数据
12.5.1.17. Function gx_ir_send_data_std¶
警告
doxygenfunction: Unable to resolve function "gx_ir_send_data_std" with arguments (const GX_HAL_IR_TX_CFG_T*, void (*)(unsigned int), unsigned int) in doxygen xml output for project "Fornax 使用文档" from directory: ./doxyoutput/XML. Potential matches:
- int gx_ir_send_data_std(const GX_HAL_IR_TX_CFG_T *tx, void (*delay_func)(unsigned int), unsigned int delay_ms)
12.5.1.18. Function gx_ir_send_data_std_it_start¶
-
int gx_ir_send_data_std_it_start(const GX_HAL_IR_TX_CFG_T *tx)¶
ir 中断模式发送标准协议数据 该函数可发送内置的 4 中标准协议数据,每次发送1个数据。不等待完成, 完成后调用 std_tx_done_cb 回调,需保持数据有效性,注意其生命周期
- 参数
ir_dev -- IR 设备数据
tx -- 红外发送配置数据
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
12.5.1.19. Function gx_ir_send_data_std_it_stop¶
-
int gx_ir_send_data_std_it_stop(void)¶
ir 停止发送标准协议数据
- 参数
ir_dev -- IR 设备数据
12.5.1.20. Function gx_ir_send_data_ud¶
-
int gx_ir_send_data_ud(const GX_HAL_IR_TX_CFG_T *tx)¶
ir 发送自定义协议数据 该函数可发送自定义协议数据,数据格式为波形的电平和长度,参考 /ref GX_IR_UD_DATA_T 的定义
- 参数
ir_dev -- IR 设备数据
tx -- 红外发送配置数据
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
12.5.1.21. Function gx_ir_send_ud_it_start¶
-
int gx_ir_send_ud_it_start(const GX_HAL_IR_TX_CFG_T *tx)¶
ir 中断方式发送自定义协议数据 该函数可发送自定义协议数据,不等待完成,数据在中断里填充,需保持数据有效性,注意其生命周期
- 参数
ir_dev -- IR 设备数据
tx -- 红外发送配置数据
- Returns 0
成功
- Returns -1
失败
- 返回
int 是否成功
12.5.1.22. Function gx_ir_send_ud_stop¶
-
void gx_ir_send_ud_stop(void)¶
ir 停止发送自定义协议数据
- 参数
ir_dev -- IR 设备数据
12.5.1.23. Function gx_ir_set_tx_carr_freq¶
-
void gx_ir_set_tx_carr_freq(unsigned short freq, unsigned short duty)¶
ir 发送载波配置 该函数配置发送载波的频率和占空比
- 参数
freq -- 红外发送载波频率(Hz),范围:时钟源频率/4096~时钟源频率
duty -- 红外发送载波占空比,1~100
12.5.1.24. Function gx_ir_std_repeat_ctrl¶
-
void gx_ir_std_repeat_ctrl(unsigned char en)¶
ir 标准模式发送重复码 该函数配置红外模块发送重复码
- 参数
ir_dev -- IR 设备数据
en -- 发送重复码使能,0 关闭,其他值使能
12.5.1.25. Function gx_ir_ud_rx_flush¶
-
void gx_ir_ud_rx_flush(void)¶
ir清空 rx FIFO 该函数不断读取 rx FIFO,以清空 FIFO 内的数据
- 参数
ir_dev -- IR设备数据
12.5.1.26. Function gx_ir_ud_tx_wait_done¶
-
void gx_ir_ud_tx_wait_done(void)¶
ir 停止发送自定义协议数据
- 参数
ir_dev -- IR 设备数据