WB2 示例代码入门---ADC

[复制链接]
查看675 | 回复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取值范围需要了解一下,
实际应用注意分压电阻!文中有几处不懂的地方,希望大家不惜赐教!

回复

使用道具 举报

爱笑 | 2023-10-10 11:50:50 | 显示全部楼层
老师又开始发力了~
用心做好保姆工作
回复 支持 反对

使用道具 举报

WangChong | 2023-10-10 14:00:21 | 显示全部楼层
学习了
回复

使用道具 举报

496199544 | 2023-10-10 15:47:04 | 显示全部楼层
学习
回复

使用道具 举报

jkernet | 2023-10-10 20:50:19 | 显示全部楼层
打卡学习
回复

使用道具 举报

iiv | 2023-10-10 23:30:20 | 显示全部楼层
老师666
回复

使用道具 举报

干簧管 | 2023-12-3 21:07:42 | 显示全部楼层
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则