|
xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
|
LCD SPI HAL层接口 更多...
宏定义 | |
| #define | XT_HAL_SPILCD_SPI_BIDIR_S (0) |
| #define | XT_HAL_SPILCD_SPI_BIDIR_W (1) |
| #define | XT_HAL_SPILCD_SPI_DCX_S (1) |
| #define | XT_HAL_SPILCD_SPI_DCX_W (1) |
| #define | XT_HAL_SPILCD_SAMP_SEL_S (2) |
| #define | XT_HAL_SPILCD_SAMP_SEL_W (1) |
| #define | XT_HAL_SPILCD_READ_DMY_CYC_S (3) |
| #define | XT_HAL_SPILCD_READ_DMY_CYC_W (4) |
| #define | XT_HAL_SPILCD_RGB565_SWAP_S (7) |
| #define | XT_HAL_SPILCD_RGB565_SWAP_W (1) |
| #define | XT_HAL_SPILCD_SPI_UNIDIR ((0) << XT_HAL_SPILCD_SPI_BIDIR_S) |
| #define | XT_HAL_SPILCD_SPI_BIDIR ((1) << XT_HAL_SPILCD_SPI_BIDIR_S) |
| #define | XT_HAL_SPILCD_DCX_ENCODED ((0) << XT_HAL_SPILCD_SPI_DCX_S) |
| #define | XT_HAL_SPILCD_DCX_DEDICATED ((1) << XT_HAL_SPILCD_SPI_DCX_S) |
| #define | XT_HAL_SPILCD_SAMPLE_RISE ((0) << XT_HAL_SPILCD_SAMP_SEL_S) |
| #define | XT_HAL_SPILCD_SAMPLE_FALL ((1) << XT_HAL_SPILCD_SAMP_SEL_S) |
| #define | XT_HAL_SPILCD_DUMMY_CYCLE(n) |
| #define | XT_HAL_SPILCD_RGB565_NORMAL ((0) << XT_HAL_SPILCD_RGB565_SWAP_S) |
| #define | XT_HAL_SPILCD_RGB565_SWAP ((1) << XT_HAL_SPILCD_RGB565_SWAP_S) |
类型定义 | |
| typedef void(* | xt_hal_spilcd_cb_t) (uint8_t lcd_id, uint32_t event_id) |
| LCD回调函数类型 | |
枚举 | |
| enum | xt_hal_spilcd_event_id { XT_HAL_SPILCD_EVENT_DONE = 0x00 , XT_HAL_SPILCD_EVENT_ERROR } |
| LCD事件类型枚举 更多... | |
函数 | |
| 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_close (uint8_t lcd_id) |
| 关闭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_set_sample_edge (uint8_t lcd_id, bool falling) |
| 设置采样时钟沿 | |
| 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_param_block (uint8_t lcd_id, uint8_t cmd, const uint8_t *param, uint32_t len) |
| 阻塞式发送LCD SPI参数 | |
| int32_t | xt_hal_spilcd_rx_param_block (uint8_t lcd_id, uint8_t cmd, uint8_t *param, uint32_t len) |
| 阻塞式读取LCD SPI参数 | |
| 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数据 | |
| 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数据 | |
LCD SPI HAL层接口
| #define XT_HAL_SPILCD_DCX_DEDICATED ((1) << XT_HAL_SPILCD_SPI_DCX_S) |
专用DCX引脚
在文件 xt_hal_spilcd.h 第 51 行定义.
| #define XT_HAL_SPILCD_DCX_ENCODED ((0) << XT_HAL_SPILCD_SPI_DCX_S) |
DCX编码在数据中
在文件 xt_hal_spilcd.h 第 50 行定义.
| #define XT_HAL_SPILCD_DUMMY_CYCLE | ( | n | ) |
| #define XT_HAL_SPILCD_READ_DMY_CYC_S (3) |
在文件 xt_hal_spilcd.h 第 40 行定义.
| #define XT_HAL_SPILCD_READ_DMY_CYC_W (4) |
在文件 xt_hal_spilcd.h 第 41 行定义.
| #define XT_HAL_SPILCD_RGB565_NORMAL ((0) << XT_HAL_SPILCD_RGB565_SWAP_S) |
正常序
在文件 xt_hal_spilcd.h 第 61 行定义.
| #define XT_HAL_SPILCD_RGB565_SWAP ((1) << XT_HAL_SPILCD_RGB565_SWAP_S) |
交换序
在文件 xt_hal_spilcd.h 第 62 行定义.
| #define XT_HAL_SPILCD_RGB565_SWAP_S (7) |
在文件 xt_hal_spilcd.h 第 42 行定义.
| #define XT_HAL_SPILCD_RGB565_SWAP_W (1) |
在文件 xt_hal_spilcd.h 第 43 行定义.
| #define XT_HAL_SPILCD_SAMP_SEL_S (2) |
在文件 xt_hal_spilcd.h 第 38 行定义.
| #define XT_HAL_SPILCD_SAMP_SEL_W (1) |
在文件 xt_hal_spilcd.h 第 39 行定义.
| #define XT_HAL_SPILCD_SAMPLE_FALL ((1) << XT_HAL_SPILCD_SAMP_SEL_S) |
下降沿采样
在文件 xt_hal_spilcd.h 第 55 行定义.
| #define XT_HAL_SPILCD_SAMPLE_RISE ((0) << XT_HAL_SPILCD_SAMP_SEL_S) |
上升沿采样
在文件 xt_hal_spilcd.h 第 54 行定义.
| #define XT_HAL_SPILCD_SPI_BIDIR ((1) << XT_HAL_SPILCD_SPI_BIDIR_S) |
双向模式
在文件 xt_hal_spilcd.h 第 47 行定义.
| #define XT_HAL_SPILCD_SPI_BIDIR_S (0) |
在文件 xt_hal_spilcd.h 第 34 行定义.
| #define XT_HAL_SPILCD_SPI_BIDIR_W (1) |
在文件 xt_hal_spilcd.h 第 35 行定义.
| #define XT_HAL_SPILCD_SPI_DCX_S (1) |
在文件 xt_hal_spilcd.h 第 36 行定义.
| #define XT_HAL_SPILCD_SPI_DCX_W (1) |
在文件 xt_hal_spilcd.h 第 37 行定义.
| #define XT_HAL_SPILCD_SPI_UNIDIR ((0) << XT_HAL_SPILCD_SPI_BIDIR_S) |
单向模式
在文件 xt_hal_spilcd.h 第 46 行定义.
| typedef void(* xt_hal_spilcd_cb_t) (uint8_t lcd_id, uint32_t event_id) |
LCD事件类型枚举
| 枚举值 | |
|---|---|
| XT_HAL_SPILCD_EVENT_DONE | LCD传输完成 |
| XT_HAL_SPILCD_EVENT_ERROR | LCD传输错误 |
在文件 xt_hal_spilcd.h 第 69 行定义.
| xt_err_t xt_hal_spilcd_close | ( | uint8_t | lcd_id | ) |
| int32_t xt_hal_spilcd_rx_param_block | ( | uint8_t | lcd_id, |
| uint8_t | cmd, | ||
| uint8_t * | param, | ||
| uint32_t | len ) |
阻塞式读取LCD SPI参数
| lcd_id | LCD硬件ID |
| cmd | 命令字节 |
| param | 参数数据缓冲区 |
| len | 参数数据长度 |
| xt_err_t xt_hal_spilcd_set_cb | ( | uint8_t | lcd_id, |
| xt_hal_spilcd_cb_t | cb ) |
| xt_err_t xt_hal_spilcd_set_freq | ( | uint8_t | lcd_id, |
| uint32_t | freq_hz ) |
设置LCD SPI时钟频率
具体支持的频率档位取决于平台实现,向下取最近档位。 以 lm620 平台为例,支持: 13MHz, 26MHz, 39MHz, 52MHz。
| lcd_id | LCD硬件ID |
| freq_hz | 频率值(Hz),超出范围自动取边界档位 |
| xt_err_t xt_hal_spilcd_set_rgb565_swap | ( | uint8_t | lcd_id, |
| bool | enable ) |
| xt_err_t xt_hal_spilcd_set_sample_edge | ( | uint8_t | lcd_id, |
| bool | falling ) |
| 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接口
根据传入引脚自动判断 SPI 模式:
| lcd_id | LCD硬件ID,取值范围[0] |
| csx_pin | CSX引脚号 |
| scl_pin | SCL引脚号 |
| sdi_pin | SDI引脚号 |
| sdo_pin | SDO引脚号 |
| dcx_pin | DCX引脚号 |
| 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数据
| lcd_id | LCD硬件ID |
| cmd | 命令字节 |
| data | 数据缓冲区 |
| len | 数据长度 |
| 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数据
| lcd_id | LCD硬件ID |
| cmd | 命令字节 |
| data | 数据缓冲区 |
| len | 数据长度 |
| int32_t xt_hal_spilcd_tx_param_block | ( | uint8_t | lcd_id, |
| uint8_t | cmd, | ||
| const uint8_t * | param, | ||
| uint32_t | len ) |
阻塞式发送LCD SPI参数
| lcd_id | LCD硬件ID |
| cmd | 命令字节 |
| param | 参数数据缓冲区 |
| len | 参数数据长度 |