打印
[开发板与模块]

【ESK32-30519 + ESK32-21001测评】+A/D数据采集与显示

[复制链接]
841|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 eltonchang2001 于 2022-11-9 14:04 编辑

ESK32-30519 开发板上配置有12位的ADC,并可使用扩展板上的电位器来提供相应的模拟信号,其电路如图1所示。
1 模拟信号输出

在例程中,数据采集的结果是有串口来输出的其形式如图2和图3所示。
2 悬空态采集
3 接地采集

既然开发板上配有数码管,那就可以用它来实现数值的显示,其效果如图4所示。
4 数值显示

实现图4效果的主程序如下:

int  main(void)
{
    u8CharIndex=0;
    u8CharSize = sizeof(NumberChar);
    u16 u;
    GPIO_Configuration();
    LEDC_Configuration();
    RETARGET_Configuration();
    ADC_Configuration();
    ADC_Cmd(HTCFG_ADC_PORT, ENABLE);
    ADC_SoftwareStartConvCmd(HTCFG_ADC_PORT, ENABLE);
    while (1)
    {
       if(gIsUpdateChar)
       {
             if (gADC_SingleEndOfConversion)
            {
                                     u=gPotentiometerLevel*3300/4096;
                                     LEDC_SetData(HTCFG_LEDC_COM_D1,  (NumberChar[u%10000/1000])|0x02);
                                     LEDC_SetData(HTCFG_LEDC_COM_D2,  NumberChar[u%1000/100]);
                                     LEDC_SetData(HTCFG_LEDC_COM_D3,  NumberChar[u%100/10]);
                                     LEDC_SetData(HTCFG_LEDC_COM_D4,  NumberChar[u%10]);
            }
            gIsUpdateChar = FALSE;
        }
     }
}


5 模拟信号检测

注:为了便于识读,这里是将检测的模拟信号值转换为对应的电压来显示,其最高电压为3.3伏,最低电压为0伏,通过电位器可动态调整检测信号的大小。

使用特权

评论回复

相关帖子

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

本版积分规则

455

主题

2756

帖子

38

粉丝