noise.c 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #include "noise.h"
  2. #include "iot_adc.h"
  3. #include "iot_errno.h"
  4. #include "iot_gpio.h"
  5. #include "iot_gpio_ex.h"
  6. #define WIFI_IOT_IO_NAME_GPIO_8 8
  7. #define WIFI_IOT_IO_NAME_GPIO_14 14
  8. #define OUT_GPIO 12
  9. void BoardInit(void)
  10. {
  11. IoTGpioInit(OUT_GPIO);
  12. IoTGpioSetFunc(OUT_GPIO, IOT_GPIO_FUNC_GPIO_12_GPIO);
  13. IoTGpioSetDir(OUT_GPIO, IOT_GPIO_DIR_IN); // 设置GPIO_8为输出模式
  14. // IoTGpioInit(13);
  15. // IoTGpioSetFunc(13, IOT_GPIO_FUNC_GPIO_13_GPIO);
  16. // IoTGpioSetDir(13, IOT_GPIO_DIR_IN); // 设置GPIO_8为输出模式
  17. IoTGpioInit(WIFI_IOT_IO_NAME_GPIO_14);
  18. IoTGpioSetFunc(WIFI_IOT_IO_NAME_GPIO_14, IOT_GPIO_FUNC_GPIO_14_GPIO);
  19. IoTGpioSetDir(WIFI_IOT_IO_NAME_GPIO_14, IOT_GPIO_DIR_OUT);
  20. // IoTGpioInit(WIFI_IOT_IO_NAME_GPIO_8);
  21. // IoTGpioSetFunc(WIFI_IOT_IO_NAME_GPIO_8, IOT_GPIO_FUNC_GPIO_8_GPIO);
  22. // IoTGpioSetDir(WIFI_IOT_IO_NAME_GPIO_8, IOT_GPIO_DIR_OUT);
  23. }
  24. /***************************************************************
  25. * 函数名称: GetVoltage
  26. * 说 明: 获取电压值函数
  27. * 参 数: 无
  28. *
  29. * 返 回 值: 无
  30. ***************************************************************/
  31. float GetVoltage(void)
  32. {
  33. unsigned int ret;
  34. unsigned short data;
  35. ret = IoTAdcRead(6, &data, IOT_ADC_EQU_MODEL_8, IOT_ADC_CUR_BAIS_DEFAULT, 0xff);
  36. if (ret != IOT_SUCCESS)
  37. {
  38. printf("ADC Read Fail\n");
  39. }
  40. return (float)data * 1.8 * 4 / 4096.0;
  41. }
  42. /***************************************************************
  43. * 函数名称: NoiseReadData
  44. * 说 明: 读取数据
  45. * 参 数: 无
  46. * 返 回 值: 无
  47. ***************************************************************/
  48. uint8_t NoiseReadData(void)
  49. {
  50. IotGpioValue temp = {0};
  51. IoTGpioGetInputVal(OUT_GPIO,&temp);
  52. return temp;
  53. }
  54. /***************************************************************
  55. * 函数名称: BeepStatusSet
  56. * 说 明: Beep状态设置
  57. * 参 数: status,ENUM枚举的数据
  58. * OFF,关
  59. * ON,开
  60. * 返 回 值: 无
  61. ***************************************************************/
  62. // void BeepStatusSet(SwitchStatus status)
  63. // {
  64. // if (status == ON) {
  65. // IoTGpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_8, 1); // 设置GPIO_7输出高电平点亮灯
  66. // }
  67. // if (status == OFF) {
  68. // IoTGpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_8, 0); // 设置GPIO_7输出低电平关闭灯
  69. // }
  70. // }
  71. /***************************************************************
  72. * 函数名称: LedWarnStatusSet
  73. * 说 明: LED_Warn状态设置
  74. * 参 数: status,ENUM枚举的数据
  75. * OFF,关
  76. * ON,开
  77. * 返 回 值: 无
  78. ***************************************************************/
  79. void LedWarnStatusSet(SwitchStatus status)
  80. {
  81. if (status == ON) {
  82. IoTGpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_14, 1); // 设置GPIO_14输出高电平点亮灯
  83. }
  84. if (status == OFF) {
  85. IoTGpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_14, 0); // 设置GPIO_14输出低电平关闭灯
  86. }
  87. }