1
0

st02d.c 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #include "st02d.h"
  2. #include "iot_gpio.h"
  3. #include "iot_gpio_ex.h"
  4. #define WIFI_IOT_IO_NAME_GPIO_8 8
  5. #define WIFI_IOT_IO_NAME_GPIO_14 14
  6. #define WIFI_IOT_IO_NAME_GPIO_0 0
  7. #define WIFI_IOT_IO_NAME_GPIO_1 1
  8. #define WIFI_IOT_I2C_IDX_1 1
  9. #define OUT1_GPIO 13
  10. #define OUT2_GPIO 7
  11. uint8_t RxBuffer[3];
  12. void ST02D_Init(void)
  13. {
  14. IoTGpioInit(OUT1_GPIO);
  15. IoTGpioSetFunc(OUT1_GPIO, IOT_GPIO_FUNC_GPIO_13_GPIO);
  16. IoTGpioSetDir(OUT1_GPIO, IOT_GPIO_DIR_IN); // 设置GPIO_8为输出模式
  17. IoTGpioInit(OUT2_GPIO);
  18. IoTGpioSetFunc(OUT2_GPIO, IOT_GPIO_FUNC_GPIO_7_GPIO);
  19. IoTGpioSetDir(OUT2_GPIO, IOT_GPIO_DIR_IN); // 设置GPIO_8为输出模式
  20. IoTGpioInit(WIFI_IOT_IO_NAME_GPIO_14);
  21. IoTGpioSetFunc(WIFI_IOT_IO_NAME_GPIO_14, IOT_GPIO_FUNC_GPIO_14_GPIO);
  22. IoTGpioSetDir(WIFI_IOT_IO_NAME_GPIO_14, IOT_GPIO_DIR_OUT); // 设置为输入模式
  23. IoTGpioInit(WIFI_IOT_IO_NAME_GPIO_8);
  24. IoTGpioSetFunc(WIFI_IOT_IO_NAME_GPIO_8, IOT_GPIO_FUNC_GPIO_8_GPIO);
  25. IoTGpioSetDir(WIFI_IOT_IO_NAME_GPIO_8, IOT_GPIO_DIR_OUT); // 设置为输入模式
  26. }
  27. // /***************************************************************
  28. // * 函数名称: Button_Left_Read_Data
  29. // * 说 明: 读取数据
  30. // * 参 数: 无
  31. // * 返 回 值: 无
  32. // ***************************************************************/
  33. // void Button_Left_Read_Data(void)
  34. // {
  35. // IoTGpioRegisterIsrFunc(WIFI_IOT_IO_NAME_GPIO_14, IOT_INT_TYPE_EDGE, IOT_GPIO_EDGE_FALL_LEVEL_LOW,func, 0);
  36. // }
  37. // /***************************************************************
  38. // * 函数名称: Button_Right_Read_Data
  39. // * 说 明: 读取数据
  40. // * 参 数: 无
  41. // * 返 回 值: 无
  42. // ***************************************************************/
  43. // void Button_Right_Read_Data(void)
  44. // {
  45. // IoTGpioRegisterIsrFunc(WIFI_IOT_IO_NAME_GPIO_8, IOT_INT_TYPE_EDGE, IOT_GPIO_EDGE_FALL_LEVEL_LOW,func, 0);
  46. // }
  47. /***************************************************************
  48. * 函数名称: Button_Left_Read_Data
  49. * 说 明: 读取数据
  50. * 参 数: 无
  51. * 返 回 值: 无
  52. ***************************************************************/
  53. uint8_t Button_Left_Read_Data(void)
  54. {
  55. IotGpioValue temp = {0};
  56. IoTGpioGetInputVal(OUT1_GPIO,&temp);
  57. return temp;
  58. }
  59. /***************************************************************
  60. * 函数名称: Button_Right_Read_Data
  61. * 说 明: 读取数据
  62. * 参 数: 无
  63. * 返 回 值: 无
  64. ***************************************************************/
  65. uint8_t Button_Right_Read_Data(void)
  66. {
  67. IotGpioValue temp = {0};
  68. IoTGpioGetInputVal(OUT2_GPIO,&temp);
  69. return temp;
  70. }
  71. /***************************************************************
  72. * 函数名称: BeepStatusSet
  73. * 说 明: Beep状态设置
  74. * 参 数: status,ENUM枚举的数据
  75. * OFF,关
  76. * ON,开
  77. * 返 回 值: 无
  78. ***************************************************************/
  79. void BeepStatusSet(SwitchStatus status)
  80. {
  81. if (status == ON) {
  82. IoTGpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_8, 1); // 设置GPIO_7输出高电平点亮灯
  83. }
  84. if (status == OFF) {
  85. IoTGpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_8, 0); // 设置GPIO_7输出低电平关闭灯
  86. }
  87. }
  88. /***************************************************************
  89. * 函数名称: LedWarnStatusSet
  90. * 说 明: LED_Warn状态设置
  91. * 参 数: status,ENUM枚举的数据
  92. * OFF,关
  93. * ON,开
  94. * 返 回 值: 无
  95. ***************************************************************/
  96. void LedWarnStatusSet(SwitchStatus status)
  97. {
  98. if (status == ON) {
  99. IoTGpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_14, 1); // 设置GPIO_14输出高电平点亮灯
  100. }
  101. if (status == OFF) {
  102. IoTGpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_14, 0); // 设置GPIO_14输出低电平关闭灯
  103. }
  104. }