SAM R21ADC转换卡死

2019-03-24 20:22发布

R21ADC卡死在adc_module->SWTRIG.reg |= ADC_SWTRIG_START;语句后,这个语句是ASF自带的adc_start_conversion里面的,但是我用打印信息的方式调试,发现在这条语句之后程序就不往下执行了。我的外设是一个脉搏传感器,他的供电电压要求是3.3--5V,我直接接在了GPIO的VCC引脚,然后使用的还PA06引脚作为模拟通道,请大家帮我指条明路,用示波器测传感器是好的
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
dcexpert
1楼-- · 2019-03-25 04:31
 精彩回答 2  元偷偷看……
lzjsqn
2楼-- · 2019-03-25 05:20
dcexpert 发表于 2015-8-26 11:43
R21的ADC转换还好吧,是不是那个地方配置不对?

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

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

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

好的,我下吃过饭试试看!不懂的地方还要麻烦您!谢谢了
lzjsqn
5楼-- · 2019-03-25 08:22
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 ");
        do {
                /* Wait for conversion to be done and read out result */
        } while (adc_read(&adc_instance, &result) == STATUS_BUSY);
//! [get_res]
        printf("Fuck ");
//! [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 ",result);
               
        }
//! [inf_loop]
//! [main]
}
lzjsqn
6楼-- · 2019-03-25 10:37
dcexpert 发表于 2015-8-26 12:07
先用查询的方式进行ADC转换试试。AS6中有R21的ADC例程,不需要修改什么,只要选好通道就可以。参考我那个 ...

还是不可以,就是卡死

一周热门 更多>