4537|12

16

帖子

2

TA的资源

一粒金砂(中级)

楼主
 

SAM R21ADC转换卡死 [复制链接]

R21ADC卡死在adc_module->SWTRIG.reg |= ADC_SWTRIG_START;语句后,这个语句是ASF自带的adc_start_conversion里面的,但是我用打印信息的方式调试,发现在这条语句之后程序就不往下执行了。我的外设是一个脉搏传感器,他的供电电压要求是3.3--5V,我直接接在了GPIO的VCC引脚,然后使用的还PA06引脚作为模拟通道,请大家帮我指条明路,用示波器测传感器是好的

最新回复

请问一个ADC的问题,我现在用SAM R21采集两路AD信号,但是从自带的例程中只能采集一路,如何采集两路AD呢,我已经在给的例程中(之前是PIN06引脚)配置好了,现在加上了PIN07引脚,但是程序执行后,只有PIN06引脚的数组中有数,PIN07没有转换!不知道为何?请大神帮忙看一下   详情 回复 发表于 2015-9-2 22:46
点赞 关注
 

回复
举报

1万

帖子

24

TA的资源

版主

沙发
 
R21的ADC转换还好吧,是不是那个地方配置不对?
 
 
 

回复

16

帖子

2

TA的资源

一粒金砂(中级)

板凳
 
dcexpert 发表于 2015-8-26 11:43
R21的ADC转换还好吧,是不是那个地方配置不对?

我什么都没动过,就是加了IO重定向以及delay模块,我在想是不是要我手动加入对ADC中断的处理函数啊,是不是执行之后,就表示要调用ADC中断处理函数,但是没有清除中断标识什么的,可是我觉得Atmel的工程师应该把这些都做好了的啊!你可以把你的实验代码工程发给我吗?谢谢了

点评

先用查询的方式进行ADC转换试试。AS6中有R21的ADC例程,不需要修改什么,只要选好通道就可以。参考我那个帖子就可以很快试验出来。  详情 回复 发表于 2015-8-26 12:07
 
 
 

回复

1万

帖子

24

TA的资源

版主

4
 
lzjsqn 发表于 2015-8-26 11:59
我什么都没动过,就是加了IO重定向以及delay模块,我在想是不是要我手动加入对ADC中断的处理函数啊,是不 ...

先用查询的方式进行ADC转换试试。AS6中有R21的ADC例程,不需要修改什么,只要选好通道就可以。参考我那个帖子就可以很快试验出来。

点评

还是不可以,就是卡死  详情 回复 发表于 2015-8-26 12:31
 
 
 

回复

16

帖子

2

TA的资源

一粒金砂(中级)

5
 
dcexpert 发表于 2015-8-26 12:07
先用查询的方式进行ADC转换试试。AS6中有R21的ADC例程,不需要修改什么,只要选好通道就可以。参考我那个 ...

好的,我下吃过饭试试看!不懂的地方还要麻烦您!谢谢了
 
 
 

回复

16

帖子

2

TA的资源

一粒金砂(中级)

6
 
lzjsqn 发表于 2015-8-26 12:21
好的,我下吃过饭试试看!不懂的地方还要麻烦您!谢谢了

int main(void)
{
        system_init();

        delay_init();
//! [setup_init]
        configure_adc();
//! [setup_init]

//! [main]
//! [start_conv]
        adc_start_conversion(&adc_instance);
//! [start_conv]

//! [get_res]
        uint16_t result;
        sio2host_init();
        printf("Hello\r\n");
        do {
                /* Wait for conversion to be done and read out result */
        } while (adc_read(&adc_instance, &result) == STATUS_BUSY);
//! [get_res]
        printf("Fuck\r\n");
//! [inf_loop]
        while (1) {
                /* Infinite loop
                 */
               
                delay_cycles_ms(5000);
                do {
                        /* Wait for conversion to be done and read out result */
                } while (adc_read(&adc_instance, &result) == STATUS_BUSY);
//! [get_res]
                printf("%d\r\n",result);
               
        }
//! [inf_loop]
//! [main]
}
 
 
 

回复

16

帖子

2

TA的资源

一粒金砂(中级)

7
 
dcexpert 发表于 2015-8-26 12:07
先用查询的方式进行ADC转换试试。AS6中有R21的ADC例程,不需要修改什么,只要选好通道就可以。参考我那个 ...

还是不可以,就是卡死

点评

卡在什么地方了?我晚上回去把以前程序找出来给你参考一下。你也可以把完整程序发给我。  详情 回复 发表于 2015-8-26 14:10
 
 
 

回复

1万

帖子

24

TA的资源

版主

8
 
lzjsqn 发表于 2015-8-26 12:31
还是不可以,就是卡死

卡在什么地方了?我晚上回去把以前程序找出来给你参考一下。你也可以把完整程序发给我。

点评

我的QQ是2358098734,楼主你的呢?我好发代码给你,我现在轮询的方式可以了,但是callback的方式还是不行。。。。  详情 回复 发表于 2015-8-26 17:48
 
 
 

回复

16

帖子

2

TA的资源

一粒金砂(中级)

9
 
dcexpert 发表于 2015-8-26 14:10
卡在什么地方了?我晚上回去把以前程序找出来给你参考一下。你也可以把完整程序发给我。

我的QQ是2358098734,楼主你的呢?我好发代码给你,我现在轮询的方式可以了,但是callback的方式还是不行。。。。

点评

我不用QQ了。Callback方式没有怎么用,因为ADC速度够快了,一点延时影响不大的。  详情 回复 发表于 2015-8-26 21:18
 
 
 

回复

1万

帖子

24

TA的资源

版主

10
 
lzjsqn 发表于 2015-8-26 17:48
我的QQ是2358098734,楼主你的呢?我好发代码给你,我现在轮询的方式可以了,但是callback的方式还是不行 ...

我不用QQ了。Callback方式没有怎么用,因为ADC速度够快了,一点延时影响不大的。

点评

谢谢了  详情 回复 发表于 2015-8-27 00:25
嗯嗯,好的!我发现他就是没有进入adc_interrupt_hander函数!先用轮询吧  详情 回复 发表于 2015-8-27 00:25
 
 
 

回复

16

帖子

2

TA的资源

一粒金砂(中级)

11
 
dcexpert 发表于 2015-8-26 21:18
我不用QQ了。Callback方式没有怎么用,因为ADC速度够快了,一点延时影响不大的。

嗯嗯,好的!我发现他就是没有进入adc_interrupt_hander函数!先用轮询吧
 
 
 

回复

16

帖子

2

TA的资源

一粒金砂(中级)

12
 
dcexpert 发表于 2015-8-26 21:18
我不用QQ了。Callback方式没有怎么用,因为ADC速度够快了,一点延时影响不大的。

谢谢了
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

13
 
请问一个ADC的问题,我现在用SAM R21采集两路AD信号,但是从自带的例程中只能采集一路,如何采集两路AD呢,我已经在给的例程中(之前是PIN06引脚)配置好了,现在加上了PIN07引脚,但是程序执行后,只有PIN06引脚的数组中有数,PIN07没有转换!不知道为何?请大神帮忙看一下
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表