13#ifndef __XT_HAL_SPILCD_H__
14#define __XT_HAL_SPILCD_H__
34#define XT_HAL_SPILCD_SPI_BIDIR_S (0)
35#define XT_HAL_SPILCD_SPI_BIDIR_W (1)
36#define XT_HAL_SPILCD_SPI_DCX_S (1)
37#define XT_HAL_SPILCD_SPI_DCX_W (1)
38#define XT_HAL_SPILCD_SAMP_SEL_S (2)
39#define XT_HAL_SPILCD_SAMP_SEL_W (1)
40#define XT_HAL_SPILCD_READ_DMY_CYC_S (3)
41#define XT_HAL_SPILCD_READ_DMY_CYC_W (4)
42#define XT_HAL_SPILCD_RGB565_SWAP_S (7)
43#define XT_HAL_SPILCD_RGB565_SWAP_W (1)
46#define XT_HAL_SPILCD_SPI_UNIDIR ((0) << XT_HAL_SPILCD_SPI_BIDIR_S)
47#define XT_HAL_SPILCD_SPI_BIDIR ((1) << XT_HAL_SPILCD_SPI_BIDIR_S)
50#define XT_HAL_SPILCD_DCX_ENCODED ((0) << XT_HAL_SPILCD_SPI_DCX_S)
51#define XT_HAL_SPILCD_DCX_DEDICATED ((1) << XT_HAL_SPILCD_SPI_DCX_S)
54#define XT_HAL_SPILCD_SAMPLE_RISE ((0) << XT_HAL_SPILCD_SAMP_SEL_S)
55#define XT_HAL_SPILCD_SAMPLE_FALL ((1) << XT_HAL_SPILCD_SAMP_SEL_S)
58#define XT_HAL_SPILCD_DUMMY_CYCLE(n) ((n) << XT_HAL_SPILCD_READ_DMY_CYC_S)
61#define XT_HAL_SPILCD_RGB565_NORMAL ((0) << XT_HAL_SPILCD_RGB565_SWAP_S)
62#define XT_HAL_SPILCD_RGB565_SWAP ((1) << XT_HAL_SPILCD_RGB565_SWAP_S)
102 uint8_t csx_pin, uint8_t scl_pin, uint8_t sdi_pin,
103 uint8_t sdo_pin, uint8_t dcx_pin);
205#define xt_hal_spilcd_set_spi_bidir(lcd_id, enable) ((void)(lcd_id), (void)(enable))
206#define xt_hal_spilcd_set_dcx_mode(lcd_id, dedicated) ((void)(lcd_id), (void)(dedicated))
207#define xt_hal_spilcd_set_dummy_cycles(lcd_id, cycles) ((void)(lcd_id), (void)(cycles))
xt_err_t xt_hal_spilcd_set_sample_edge(uint8_t lcd_id, bool falling)
设置采样时钟沿
int32_t xt_hal_spilcd_tx_data_0copy(uint8_t lcd_id, uint8_t cmd, const uint8_t *data, uint32_t len)
非阻塞0拷贝发送LCD SPI数据
xt_hal_spilcd_event_id
LCD事件类型枚举
int32_t xt_hal_spilcd_rx_param_block(uint8_t lcd_id, uint8_t cmd, uint8_t *param, uint32_t len)
阻塞式读取LCD SPI参数
xt_err_t xt_hal_spilcd_setup(uint8_t lcd_id, uint8_t csx_pin, uint8_t scl_pin, uint8_t sdi_pin, uint8_t sdo_pin, uint8_t dcx_pin)
初始化LCD SPI接口
xt_err_t xt_hal_spilcd_set_rgb565_swap(uint8_t lcd_id, bool enable)
设置RGB565字节交换
xt_err_t xt_hal_spilcd_set_freq(uint8_t lcd_id, uint32_t freq_hz)
设置LCD SPI时钟频率
int32_t xt_hal_spilcd_tx_data_0copy_block(uint8_t lcd_id, uint8_t cmd, const uint8_t *data, uint32_t len)
阻塞0拷贝发送LCD SPI数据
int32_t xt_hal_spilcd_tx_param_block(uint8_t lcd_id, uint8_t cmd, const uint8_t *param, uint32_t len)
阻塞式发送LCD SPI参数
xt_err_t xt_hal_spilcd_set_cb(uint8_t lcd_id, xt_hal_spilcd_cb_t cb)
设置LCD SPI回调函数
xt_err_t xt_hal_spilcd_close(uint8_t lcd_id)
关闭LCD SPI接口
void(* xt_hal_spilcd_cb_t)(uint8_t lcd_id, uint32_t event_id)
LCD回调函数类型
@ XT_HAL_SPILCD_EVENT_DONE
@ XT_HAL_SPILCD_EVENT_ERROR