0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【瑞萨RA4系列开发板体验】4.adc使用

jf_92517703 来源:jf_92517703 作者:jf_92517703 2022-12-02 16:43 次阅读

rasc 配置

1.配置adc引脚

2.配置stacks adc

图片.png

2.图片.png

软件

bsp_adc0.h

#ifndef __RA4_ADC0_H__
#define __RA4_ADC0_H__
#include "hal_data.h"
#include "stdio.h"

/*adc始化 */
void adc0_Init(void);
void read_adc(void);
#endif

bsp_adc0.c

#include "bsp_adc0.h"

/*

初始化 */
void adc0_Init(void)
{
   fsp_err_t err = FSP_SUCCESS;
  /* 初始化adc */
  err = R_ADC_Open(&g_adc0_ctrl, &g_adc0_cfg);
  /* Handle any errors. This function should be defined by the user. */
  if(FSP_SUCCESS != err)
    {
        printf("ADC0 Open API failed\\r\\n");
    }
  /* 配置并是能通道 */
    err = R_ADC_ScanCfg(&g_adc0_ctrl, &g_adc0_channel_cfg);
    assert(FSP_SUCCESS == err);
}

/*
adc中断回调 */
volatile bool scan_complete_flag = false;
void adc0_callback(adc_callback_args_t * p_args)
{
	//宏将告知编译器回调函数不使用参数 p_args,从而避免编译器发出警告,
    FSP_PARAMETER_NOT_USED(p_args);
    scan_complete_flag = true;
}

void read_adc(void)
{
  fsp_err_t err = FSP_SUCCESS;
  double a0,a1,a2;
  uint16_t adc_data=0;
  (void) R_ADC_ScanStart(&g_adc0_ctrl);
   scan_complete_flag = false;
  while (!scan_complete_flag)
  {
      /* Wait for callback to set flag. */
  }
  /*
		读取adc的值
	*/
  err = R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_0, &adc_data);
  assert(FSP_SUCCESS == err);
  a0=(double)(adc_data/4095.0)*3.3;
	
	err = R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_1, &adc_data);
  assert(FSP_SUCCESS == err);
  a1=(double)(adc_data/4095.0)*3.3;
	
	err = R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_2, &adc_data);
  assert(FSP_SUCCESS == err);
  a2=(double)(adc_data/4095.0)*3.3;
  printf("ch0 %f ch2 %f ch3 %fv: %.02f \\r\\n",a0,a1,a2);
}

测试结果

图片.png

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    95

    文章

    5650

    浏览量

    539440
  • 开发板
    +关注

    关注

    25

    文章

    4428

    浏览量

    93964
收藏 人收藏

    评论

    相关推荐

    【精品聚合】RA-Eco-RA4M2-100PIN开发板试用报告作品汇总

    工程+点亮LED【RA4系列开发板体验】3.
    发表于 12-02 16:43

    RA4系列开发板体验】4.adc使用

    rasc 配置1.配置adc引脚2.配置stacks adc2.软件bsp_adc0.h#ifndef __RA4_ADC0_H__#define __
    发表于 12-02 17:00

    RA4系列开发板体验】开箱

    首先感谢电子 & 电子发烧友给与的机会。RA-Eco-RA4M2-100PIN基于R7FA4M2AD3CFP MCU,采用了Cortex-M33内核,配备128K/512K
    发表于 12-05 08:28

    RA4系列开发板体验】6. ADC测量摇杆模块偏移量

    之前发帖:【RA4系列开发板体验】1. 新建工程+按键控制LED【
    发表于 12-09 21:37

    RA4系列开发板体验】+ 3种开发板的比较

    在使用RA-Eco-RA4M2-100PIN之前,也曾使用过开发板,为此将它们放在一起做了一下简单的对比,其外观如图1和图2所示。尽管两者的内核不同,但在具备功能和布局上有较大的
    发表于 12-09 22:39

    RA4系列开发板体验】7. 用DAC输出正弦波以及余弦波

    KEIL下UART实现printf与scanf重定向【RA4系列开发板体验】4. PWM驱
    发表于 12-09 22:56

    RA4系列开发板体验】初步认识开发板

    的技术,开始一起研究这个板子。看看这个开发板的相关参数和性能吧。开发板的主控MCU是:R
    发表于 12-10 10:26

    RA4系列开发板体验】1、开箱报告和开发板特色介绍

    很高兴能参加电子发烧友RA-Eco-RA4M2-100PIN开发板的免费试用活动,本来只是抱着试试的态度申请了,没想到还真的申请到了。我原来对R
    发表于 12-10 11:58

    RA4系列开发板体验】9. 用两路DAC在示波器上显示一个爱心

    KEIL下UART实现printf与scanf重定向【RA4系列开发板体验】4. PWM驱
    发表于 12-10 22:12

    RA4系列开发板体验】10. 我的试用总结

    KEIL下UART实现printf与scanf重定向【RA4系列开发板体验】4. PWM驱
    发表于 12-10 22:34

    RA4系列开发板体验】开发板硬件展示(多图)

    的硬件真容展示,从多角度无死角的对开发板进行展示吧。 再展示前,先对开发板的MUC家族进行介绍一下,RA(中文:)是 2019 年 10
    发表于 12-11 15:46

    RA4系列开发板体验】1、开发板要来了(1)

    RA4M2的开发板终于要来了,感谢论坛和开发商的竭力沟通,给我补发了一个开发板,怎么说呢?真的是历经磨难,谁会说遇到口罩问题又碰上了一场大火,它就飞了,不过不影响
    发表于 12-12 17:04

    RA4系列开发板体验】我的小小体会

    一连发了两篇文章,相信大家对RA4开发板不多不小都有点认识了吧。我也很感谢和荣幸能参与到这次的体验,再次感谢电子发烧友论坛及开发板厂商的
    发表于 12-13 20:24

    RA4系列开发板体验】体验过程

    拿到板子之后,做了几个实验过程,过程如下:1、在好奇心驱动下,逐步接触;参照网上的实例,学习开发环境一、开箱验货二、搭建环境参考“ 【
    发表于 12-18 16:20

    RA4M2设计挑战赛】1. RASC配置FreeRTOS

    RA4系列开发板体验】6. ADC测量摇杆模块偏移量【R
    发表于 02-11 19:17