注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
breeze_i的个人空间 https://home.eeworld.com.cn/space-uid-1492951.html [收藏] [复制] [分享] [RSS]
日志

【Follow me第二季第3期】DAC配置生成波形及性能测试

已有 325 次阅读2024-12-14 23:45 |个人分类:RA6M5

简介:本次实验使用RA6M5的片内外设DAC模块,产生三角波和正弦波,驱动LED,实现呼吸灯效果。

打开用户手册,找到DAC模块,框图如下:

可以看到,这是一个转换精度12为的ADC,有两路输出,在原理图中看到DA0对应的引脚是P014。本次将DAC输出通过杜邦线连接到LED3上。

二、模块配置
打开e2studio,如图打开FSP配置界面:添加DAC模块。

三、三角波、正弦波实现

fsp_err_t DAC_output(void)
{
    static int16_t a=1;
    gs_dac_value=(uint16_t)(gs_dac_value+a);
    if(gs_dac_value>=0x0FFF)
//    if (gs_dac_value >= 0x5)
    {
        a = -1;
    }
    else if (gs_dac_value == 0)
    {
        a = 1;
    }

    fsp_err_t status = R_DAC_Write(&g_dac0_ctrl, gs_dac_value);

    return status;
}

fsp_err_t DAC_output_Sinewave(void)
{
    fsp_err_t ret;
    uint64_t currenttime=gs_dwTick;
//    uint16_t DAC_value=0;
    uint64_t t_ms=(currenttime-gs_starttime);       //ms
    double t_s   =(double)t_ms/1000;//(double)(t_ms/1000);
    DAC_value=(uint16_t)((sin(t_s)+1)/2*4096);
    ret = R_DAC_Write(&g_dac0_ctrl, DAC_value);
    return ret;
}

四、实验现象

 

 

 

 

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章