文档章节

瑞萨单片机(R5F100LE)多通道AD转换

kangxin1234
 kangxin1234
发布于 2015/07/09 20:59
字数 422
阅读 581
收藏 0

    今天,在网上找了半天瑞萨单片机(R5F100LE)多通道AD转换的配置和使用方法,可一直没能找到,最后在用户手册的帮助下终于找到了,正确的方法。

    其实使用瑞萨的多通道AD,挺方便的,不麻烦,下面的图是CubeSuite + 代码生成器的配置方法。最关键的地方是Operation mode setting的配置要选择Continuous select mode这个模式。这样当一个通道转换完成之后产生一个中断,你在中断中读出ADC的转换值,然后配置寄存器ADS( 模拟输入通道选择寄存器),为下一个通道就行了,下一次AD转换就是你指定通道了,转换完成再次进入中断,然后你读出AD转换值,修改ADS.........,下面有代码和CubeSuite +工程链接,挺容易理解,不行就下工程来看看,记得看一下用户手册的ADS寄存器。


主函数:

void main(void)
{
    /* Start user code. Do not edit comment generated here */	
	
    R_MAIN_UserInit();    
	R_TAU0_Channel0_Start();	
	R_ADC_Set_OperationOn();
	R_ADC_Start();
    while (1U)
    {
      NOP();
    }
    /* End user code. Do not edit comment generated here */
}

中断函数:功能读取AD通道AIN0,AIN1,AIN2的值放到数组ADValue中。

/* Start user code for global. Do not edit comment generated here */
uint16_t ADValue[3]={0};
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
* Function Name: r_adc_interrupt
* Description  : This function is INTAD interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
__interrupt static void r_adc_interrupt(void)
{
    /* Start user code. Do not edit comment generated here */
	static uint8_t channel=0, ads=0;	
	
	ads = ADS;
	R_ADC_Get_Result(&ADValue[ads]);
	if(++ads==3)
		ads = 0;
		
	ADS = ads;
	
	
		
    /* End user code. Do not edit comment generated here */
}


瑞萨单片机(R5F100LE)多通道AD转换


© 著作权归作者所有

kangxin1234

kangxin1234

粉丝 38
博文 51
码字总数 35417
作品 0
程序员
私信 提问
关于瑞萨(R5F100LE)中断的应用问题

@kangxin1234 你好,前辈,想跟你请教个问题: 您的这个帖子里 TRIG = 1; delayMs(2); TRIG = 0; 是为了让他出现下降沿,然后进入中断么还是直接在下面这个图片里就进入中断了,如果是下降沿...

半个句号
2018/02/21
328
2
SPCE061A单片机采集脉搏数据

本文来自http://blog.csdn.net/hellogv/ 这里所用的脉搏传感器是HK-2000B,模拟信号,可以采集脉搏波形,建议采用500HZ定时器来定时采集,因为市面上一些心电模块也是500HZ,因此,在一个定时...

晨曦之光
2012/03/14
91
0
ADC多通道转换时注意事项

1.在使用ADC多通道转换时要注意 中,数量部分要和实际使用的通道数量一致,否则会出现转换不正确的情况。 我当时使用的2个通道,但数量部分的值为1,导致最终缓存区的AD转换值一直不正确。 ...

k0becheng
2015/01/04
7
0
【目录】电子发烧友, 持续更新

目录内容: 1)Geek 2)C51单片机学习平台搭建 3)入门 4)提高 5)红外发射 6)树莓派 7)物联网 8)模电基础 【Geek】 C51单片机 SIM900A 手机给门禁解锁 智能家居 【C程序代码已开源,更新...

990487026
2015/09/26
0
0
基于51单片机的简易示波器(STC89C51 ADC0804 12864 )

资料下载: http://download.csdn.net/download/feng3121/10265549 里面有单片机原理图,51源码(里面有大量注释,不管有没有做示波器都可以一看) 之前玩单片机,有一阵子一直想知道到底某个...

feng3121
2018/03/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一起来学Java8(四)——复合Lambda

在一起来学Java8(二)——Lambda表达式中我们学习了Lambda表达式的基本用法,现在来了解下复合Lambda。 Lambda表达式的的书写离不开函数式接口,复合Lambda的意思是在使用Lambda表达式实现函...

猿敲月下码
13分钟前
2
0
debian10使用putty配置交换机console口

前言:Linux的推广普及,需要配合解决实际应用方能有成效! 最近强迫自己用linux进行实际工作,过程很痛苦,还好通过网络一一解决,感谢各位无私网友博客的帮助! 系统:debian10 桌面:xfc...

W_Lu
44分钟前
10
0
aelf Enterprise 0.8.0 beta有奖公测,“Bug奖金计划”重磅开启

2019年9月30日,aelf Enterprise 0.8.0 beta版正式发布。aelf Enterprise 0.8.0 beta是一个完备的区块链系统, 包含完备的区块链系统、开发套件、开发文档、以及配套的基础应用和基础服务。 ...

AELF开发者社区
45分钟前
8
0
oracle 初始化数据库脚本

create user lpf identified by 123456; create tablespace lpf_ts_cms datafile '/opt/app/oracle/product/11.2.0/lpf.dbf' size 200M; alter user lpf default tablespace lpf_ts_cms; sel......

internetafei
50分钟前
7
0
深入了解Redis底层数据结构

说明 说到Redis的数据结构,我们大概会很快想到Redis的5种常见数据结构:字符串(String)、列表(List)、散列(Hash)、集合(Set)、有序集合(Sorted Set),以及他们的特点和运用场景。不过它们是...

TurboSanil
50分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部