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 设备数据

12.5.1.27. Function gx_ir_udtx_fifo_put


void gx_ir_udtx_fifo_put(unsigned int data)

ir 向自由模式发送fifo中写入数据 该函数写入一个数据到自由模发送fifo中

12.5.1.28. Function gx_ir_udtx_write_endflag


void gx_ir_udtx_write_endflag(void)

ir 向自由模式发送fifo中写入结束标志 该函数写入标志到自由模发送fifo中