Gokit4开发板连接Sensor的接口初始化

大家好,今天小白给大家介绍一下,Gokit开发板外接Sensor时的一些接口初始化的定义方法,仅供参考,欢迎一起交流学习。

1 传感器相关的接口函数定义

目录: demo-Gizwits-cloud-connection/main/main.c

首先介绍传感器初始化的相关接口

void sensorInit(void)

{

    int32 ret = -1;

    gizLog(LOG_INFO,"Sensor initialization ...\n");

    led_init(); //led  init

    motor_init(); //motor init

    heartrate_init(); //plusensor init

    motion_init(); //adxl345 sensor init

    pressure_init(); //fsr402 init

    txm_module_object_allocate(&userTimer, sizeof(TX_TIMER));

    ret = tx_timer_create(userTimer, "userTimer", userTimerCB, NULL, 1,

                          200, TX_AUTO_ACTIVATE);

    if(ret != TX_SUCCESS)

    {

        gizLog(LOG_WARNING,"Failed to create UserTimer.\n");

    }

}

该函数主要用于led,电机,心率传感器,三轴加速度传感器,压力传感器等的初始化。

2 led相关的初始化

led初始化:

void led_init()      //该种接口定义方式主要是为了实现代码分层

{

        gizLog(LOG_INFO,"in led init...\n");

       led_gpio_config(); //该接口主要作用对led相关引脚的初始化

}

2.1 配置led相关引脚的接口

 demo-Gizwits-cloud-connection/driver/gpio/gpio.c

 void led_gpio_config()

 {

    gizLog(LOG_INFO,"in led_gpio_config...\n");

    //led_pin_num_motion = PIN_E_GPIO_06; // motion led

    gpio_config(led_pin_num_motion, QAPI_GPIO_OUTPUT_E, QAPI_GPIO_NO_PULL_E, QAPI_GPIO_2MA_E);

    //led_pin_num_Pulsesensor = PIN_E_GPIO_07; //pulsensor led

    gpio_config(led_pin_num_Pulsesensor, QAPI_GPIO_OUTPUT_E, QAPI_GPIO_NO_PULL_E, QAPI_GPIO_2MA_E);

    //led_pin_num_pressure = PIN_E_GPIO_08; //pressure led

    gpio_config(led_pin_num_pressure, QAPI_GPIO_OUTPUT_E, QAPI_GPIO_NO_PULL_E, QAPI_GPIO_2MA_E);

}

该接口主要用于配置led相关的引脚。

3 马达相关的初始化

马达初始化:

void motor_init()

{

     gizLog(LOG_INFO,"in motor_init ...\n");

     motor_gpio_config(); //该接口主要作用对led相关引脚的初始化

}

3.1 配置马达相关的引脚

void motor_gpio_config()

{

      gizLog(LOG_INFO,"in motor_gpio_config ...\n");

      motor_pin_num = PIN_E_GPIO_09; // motor pin;

      gpio_config(motor_pin_num, QAPI_GPIO_OUTPUT_E, QAPI_GPIO_NO_PULL_E, QAPI_GPIO_2MA_E);

}

主要用于配置马达相关的引脚。

4 心率传感器相关的初始化

心率传感器初始化:

void heartrate_init()

{

       gizLog(LOG_INFO,"Pulsesensor initialization ...\n");

       Pulsesensor_init(); //该接口主要作用是对PluseSensor相关的初始化

}

4.1用于初始化PluseSensor传感器

Smart-heart-rate-dector/driver/PluseSensor/PluseSensor.c

void Plusesensor_init()

{

      qapi_Status_t status = QAPI_ERROR;

      const char *Channel_Name_ADC1 = ADC_INPUT_ADC1;

      qapi_Timer_Sleep(2, QAPI_TIMER_UNIT_SEC, true);

      status = adc_open_handle();

      if(status != QAPI_OK)

    {

       //IOT_DEBUG("Get ADC Handle ERROR!");

       gizLog(LOG_INFO,"adc open handle error...\n");

       return;

    }

    status = adc_get_properties(Channel_Name_ADC1, &Properties_ADC1);

    if(status != QAPI_OK)

    {

          gizLog(LOG_INFO,"Get ADC channel-%s Configuration ERROR...\n", Channel_Name_ADC1);

          return;

    }

}

主要是adc操作的一些初始化。

4.2 adc相关接口封装

Smart-heart-rate-dector/driver/adc/adc.c

qapi_Status_t adc_open_handle(void)

{

qapi_Status_t status = QAPI_ERROR;

    status = qapi_ADC_Open(&adc_handle, 0);

    if (QAPI_OK != status)

    {

        //qt_uart_dbg(uart_conf.hdlr,"Get ADC Handle ERROR!\r\n");

    }

    return status;

}

qapi_Status_t adc_get_properties(const char *Channel_Name_Ptr, qapi_Adc_Input_Properties_Type_t *Properties_Ptr   )

{

    qapi_Status_t status = QAPI_ERROR;

    uint32_t Channel_Name_Size = strlen(Channel_Name_Ptr) + 1;

 

    status = qapi_ADC_Get_Input_Properties(adc_handle, Channel_Name_Ptr, Channel_Name_Size, Properties_Ptr);

    if (QAPI_OK != status)

    {   

        //qt_uart_dbg(uart_conf.hdlr,"ADC Get Channel-%s Properties ERROR!\r\n", Channel_Name_Ptr);

    }

    return status;

}

主要是封装了adc相关的一些API。

5 运动传感器相关初始化

运动传感器初始化:

void motion_init()

{

     gizLog(LOG_INFO,"ADXL345 initialization ...\n");

     adxl345_init(); //该接口主要作用是对adxl345传感器的初始化

}

5.1 adxl345传感器初始化相关接口暂未实现。

6 压力传感器相关初始化

压力传感器初始化:

void pressure_init()

{

     gizLog(LOG_INFO,"ADXL345 initialization ...\n");

     fsr402_init(); //该接口主要作用是对fsr345传感器的初始化

}

6.1 fsr402传感器初始化相关接口暂未实现。

7 数据采集函数

7.1 心率采集接口

Smart-heart-rate-dector/driver/PluseSensor/PluseSensor.c

uint8_t getHeartRateValue(uint32_t* heartrate )

{

    while(1)

   {

      .....

      status = qapi_ADC_Read_Channel(adc_handle, &Properties_ADC1, &result);

      .....

      qapi_Timer_Sleep(2, QAPI_TIMER_UNIT_MSEC, true);

    }

     status = qapi_ADC_Close(adc_handle, false);

}

7.2 其他几种传感器的数据采集接口,暂未定,后续实现后再行补充。

8 小结

本篇博客主要介绍了Gokit4外接sensor时的一些接口定义方式,仅供参考,欢迎一起学习交流。

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试