发帖
6 0 0

WB2 示例代码入门---ADC

ckdsx.cn
论坛元老

74

主题

182

回帖

5409

积分

论坛元老

积分
5409
Ai-WB2系列 910 6 2023-10-10 11:37:15
#include <stdio.h>    //引用各种头文件
#include <string.h>
#include <FreeRTOS.h>
#include <task.h>
#include <hosal_adc.h>
#include <blog.h>

/**********   BL602  ************  WB2映射关系
*    channel0   ----->     gpio12
*    channel1   ----->     gpio4
*    channel2   ----->     gpio14
*    channel3   ----->     gpio13
*    channel4   ----->     gpio5
*    channel5   ----->     gpio6
*    channel7   ----->     gpio9
*    channel9   ----->     gpio10
*    channel10  ----->     gpio11
*    channel11  ----->     gpio15
*/

#define GPIO_ADC_PIN 11  //设置 ADC 引脚
#define ADC_CHANNEL 10   //设置通道号

void main(void)    //主函数
{
    static hosal_adc_dev_t adc0 = {  //设置 ADC 硬件参数
        .cb = NULL,   //求教1
        .config = {   //设置
            .mode = HOSAL_ADC_ONE_SHOT,   //个人理解:模式设置为只取一次
            .pin = GPIO_ADC_PIN,   //设置引脚为 11
            .sampling_freq = 340,   //采样频率 340 ?
        },
        .dma_chan = 0, //求教2
        .p_arg = NULL, //求教3
        .port = 0,     //求教4
    };

    hosal_adc_init(&adc0); //初始化 adc0

    hosal_adc_add_channel(&adc0, ADC_CHANNEL); //为ADC0 增加通道?

    for (;;) {   //循环
        int ret = hosal_adc_value_get(&adc0, ADC_CHANNEL, 100); //获取adc0的数值,

        /// ADC         电阻分压,便于测量略高于vcc的电压;
        ///  |
        /// ┌┴┐
        /// | | 4.7 kΩ
        /// └┬┘
        ///  |
        ///  ├-----IO11
        ///  |
        /// ┌┴┐
        /// | | 1 kΩ
        /// └┬┘
        ///  |
        ///  ┴
        /// GND
        /// Actual Voltage = ADC output * 1000 / (4700 + 1000)  (Unit: mV)

        ret = ret * (4700 + 1000) / 1000; //根据上图分压电路导出的计算公式

        blog_info("ADC = %ld mV\r\n", ret);  // 输出当前测量电压,单位:mv

        vTaskDelay(pdMS_TO_TICKS(2000));  //延时函数
    }
}
--------------------------------
WB2的adc取值范围需要了解一下,
实际应用注意分压电阻!文中有几处不懂的地方,希望大家不惜赐教!

──── 0人觉得很赞 ────

使用道具 举报

2023-10-10 11:50:50
老师又开始发力了~
2023-10-10 14:00:21
学习了
2023-10-10 15:47:04
学习
2023-10-10 20:50:19
打卡学习
2023-10-10 23:30:20
老师666
2023-12-3 21:07:42
学习
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 28708 个
  • 话题数: 40942 篇