iot_spi.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #ifndef __IOT_SPI_H__
  2. #define __IOT_SPI_H__
  3. #include "iot_os.h"
  4. /**
  5. * @ingroup iot_sdk_device 外设接口
  6. * @{
  7. */
  8. /**
  9. * @defgroup iot_sdk_spi spi接口
  10. * @{
  11. */
  12. /**配置spi
  13. *@param port: SPI 编号
  14. *@param cfg: 初始化参数
  15. *@return TRUE: 成功
  16. * FALSE: 失败
  17. **/
  18. BOOL iot_spi_open(
  19. E_AMOPENAT_SPI_PORT port,
  20. T_AMOPENAT_SPI_PARAM *cfg
  21. );
  22. /**读取spi数据
  23. *@param port: SPI 编号
  24. *@param buf: 存储数据地址
  25. *@param bufLen: 存储空间长度
  26. *@return UINT32: 实际读取长度
  27. **/
  28. UINT32 iot_spi_read(
  29. E_AMOPENAT_SPI_PORT port,
  30. UINT8* buf,
  31. UINT32 bufLen
  32. );
  33. /**写入spi数据
  34. *@param port: SPI 编号
  35. *@param buf: 写入数据地址
  36. *@param bufLen: 写入数据长度
  37. *@return UINT32: 实际写入长度
  38. **/
  39. UINT32 iot_spi_write(
  40. E_AMOPENAT_SPI_PORT port,
  41. CONST UINT8* buf,
  42. UINT32 bufLen
  43. );
  44. /**spi全双工读写
  45. *@note 全双工方式读写,读写长度相同
  46. *@param port: SPI 编号
  47. *@param txBuf: 写缓冲
  48. *@param rxBuf: 读缓冲
  49. *@param len: 读写长度
  50. *@return UINT32: 实际写入长度
  51. **/
  52. UINT32 iot_spi_rw(
  53. E_AMOPENAT_SPI_PORT port,
  54. CONST UINT8* txBuf,
  55. UINT8* rxBuf,
  56. UINT32 len
  57. );
  58. /**关闭spi
  59. *@param port: SPI 编号
  60. *@return TRUE: 成功
  61. * FALSE: 失败
  62. **/
  63. BOOL iot_spi_close(
  64. E_AMOPENAT_SPI_PORT port
  65. );
  66. /** @}*/
  67. /** @}*/
  68. #endif