打印
[PSoC™ Creator]

【英飞凌CYW20829测评】+ ADC

[复制链接]
161|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本实验参考 DC Monitoring例程,通过A1引脚进行电压测量。

首先进行外设初始化,其次在主循环里面进行电压测量。
    while (1)
    {
        /* Monitoring for every one second */
        Cy_SysLib_Delay(1000);

        Cy_ADCMic_SetInterruptMask(adcmic_0_HW, CY_ADCMIC_INTR_DC);
        Cy_ADCMic_ClearInterrupt(adcmic_0_HW, CY_ADCMIC_INTR);

        /* Enable the DC monitoring */
        Cy_ADCMic_Enable(adcmic_0_HW);

        /* ADC Settling Time */
        Cy_SysLib_Delay(10);

        /* Enable ADC timer to generate interrupt for reading the sample */
        Cy_ADCMic_EnableTimer(adcmic_0_HW);

        /* Wait for DC monitoring samples to complete */
        while(batmon_cplt);

        for (int i = 0; i < NO_OF_DC_SAMPLES; i++)
        {
            batmon_dc_avg = batmon_dc_avg + batmon_samples[i];
        }

        batmon_dc_avg = batmon_dc_avg/NO_OF_DC_SAMPLES;

        /* Convert the ADC code in millivolts */
        batt_level_mv = Cy_ADCMic_CountsTo_mVolts((int16_t)batmon_dc_avg, adcmic_0_config.dcConfig->context );

        printf("batt_level_mv = %d \r\n",batt_level_mv);

        /* Reset for the next set of readings */
        batmon_cplt = 1;
        batmon_dc_avg = 0;
    }


把扩展接口的3.3v连接到A1引脚,控制台输出当前电压:


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

24

帖子

0

粉丝