发新帖本帖赏金 2.00元(功能说明)我要提问
返回列表
打印
[技术问题解答]

飞思卡尔ADC配置

[复制链接]
3049|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
来自 2楼
FSL_TICS_Jeremy| | 2015-12-10 09:19 | 只看该作者
jpxuchao 发表于 2015-12-10 08:51
还有问题,我配置了一下代码,它不能进中断,我不知道什么原因,能不能帮我看一下:
int main(void)
{

请参考此经验分享
https://bbs.21ic.com/icview-621009-1-1.html

使用特权

评论回复
板凳
FSL_TICS_Jeremy| | 2015-12-9 13:57 | 只看该作者
关于查分引脚配置,首先建议楼主先浏览一下第三章中关于ADC channel assignment方面的内容如下图所示,
这样你可以根据参考手册中给出的MCU 引脚框图,找到需要配置的引脚,然后在初始化时,将引脚工作于特定的复用功能即可(如图所示)





使用特权

评论回复
地板
jpxuchao|  楼主 | 2015-12-9 15:16 | 只看该作者
FSL_TICS_Jeremy 发表于 2015-12-9 13:57
关于查分引脚配置,首先建议楼主先浏览一下第三章中关于ADC channel assignment方面的内容如下图所示,
这 ...

我想配置PTE18和PTE19脚,我的配置代码是这样的,麻烦帮我看看对不对:
        SIM_SCGC6 |=SIM_SCGC6_ADC0_MASK;
        SIM_SOPT7 |=SIM_SOPT7_ADC0TRGSEL(4);
        SIM->SOPT7 &= ~SIM_SOPT7_ADC0PRETRGSEL_MASK;
        SIM_SCGC4 |=SIM_SCGC4_VREF_MASK;
        SIM_SCGC5  |= SIM_SCGC5_PORTE_MASK;
        PORTE_PCR18 |= PORT_PCR_MUX(0); //ALT0:ADC0_DP2
        PORTE_PCR19 |= PORT_PCR_MUX(0); //ALT0:ADC0_DM2

我是用PIT0触发的

使用特权

评论回复
5
舒斯特尔| | 2015-12-9 20:10 | 只看该作者
jpxuchao 发表于 2015-12-9 15:16
我想配置PTE18和PTE19脚,我的配置代码是这样的,麻烦帮我看看对不对:
        SIM_SCGC6 |=SIM_SCGC6_ADC0_MAS ...

还能用别的来触发吗

使用特权

评论回复
6
FSL_TICS_Jeremy| | 2015-12-10 08:37 | 只看该作者
jpxuchao 发表于 2015-12-9 15:16
我想配置PTE18和PTE19脚,我的配置代码是这样的,麻烦帮我看看对不对:
        SIM_SCGC6 |=SIM_SCGC6_ADC0_MAS ...

SIM_SOPT7[ADC0ALTTRGEN]需要设置为零,不然只能选择PDB触发

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
jpxuchao + 2 赞一个!
7
FSL_TICS_Jeremy| | 2015-12-10 08:38 | 只看该作者
舒斯特尔 发表于 2015-12-9 20:10
还能用别的来触发吗

当然可以啊,FTM,LPTMR都是可以的

使用特权

评论回复
8
FSL_TICS_Jeremy| | 2015-12-10 08:39 | 只看该作者
楼主如果还有问题,欢迎继续交流。
如果问题解决了,还请帮我们及时结贴。

使用特权

评论回复
9
jpxuchao|  楼主 | 2015-12-10 08:51 | 只看该作者
FSL_TICS_Jeremy 发表于 2015-12-10 08:39
楼主如果还有问题,欢迎继续交流。
如果问题解决了,还请帮我们及时结贴。 ...

还有问题,我配置了一下代码,它不能进中断,我不知道什么原因,能不能帮我看一下:
int main(void)
{
       
        sysinit();

        SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK;
        PORTB_PCR1 |= (1 << 8);
        PTB->PDDR |= (1 << 1);

        SIM_SCGC6 |=SIM_SCGC6_ADC0_MASK;
        SIM_SOPT7 |=SIM_SOPT7_ADC0TRGSEL(4)|SIM_SOPT7_ADC0PRETRGSEL_MASK;
        SIM->SOPT7 &= ~SIM_SOPT7_ADC0ALTTRGEN_MASK;
        SIM_SCGC4 |=SIM_SCGC4_VREF_MASK;
        SIM_SCGC5  |= SIM_SCGC5_PORTE_MASK;
        PORTE_PCR18 |= PORT_PCR_MUX(0); //ALT0:ADC0_DP2
        PORTE_PCR19 |= PORT_PCR_MUX(0); //ALT0:ADC0_DM2


        ADC0_SC1A=0x00;
  ADC0_SC1A |= ADC_SC1_DIFF_MASK|ADC_SC1_ADCH(2);
        ADC0_CFG1 |= ADC_CFG1_ADICLK(0)|ADC_CFG1_MODE(3)|ADC_CFG1_ADIV(3);
  ADC0_CFG2 |=0x00000000;//Õý³£¹¤×÷ģʽ
        ADC0_SC2 =ADC_SC2_ADTRG_MASK;
        ADC0_SC3 |=ADC_SC3_ADCO_MASK  
                 |ADC_SC3_AVGE_MASK  
                 |ADC_SC3_AVGS(3);

        while(1)
        {
          if((ADC0_SC1A&0x00000080)==0x00000080)
                {
                                        ADCshuchu=ADC0_RA;
                                        ADC0_SC1A &= ~ADC_SC1_COCO_MASK;
                }
        }
}

使用特权

评论回复
10
jpxuchao|  楼主 | 2015-12-10 09:29 | 只看该作者
FSL_TICS_Jeremy 发表于 2015-12-10 09:19
请参考此经验分享
https://bbs.21ic.com/icview-621009-1-1.html

谢谢,它使用PDB触发adc,我想直接用pit0软件触发,这个可以实现吗?

使用特权

评论回复
11
FSL_TICS_Jeremy| | 2015-12-10 09:33 | 只看该作者
jpxuchao 发表于 2015-12-10 09:29
谢谢,它使用PDB触发adc,我想直接用pit0软件触发,这个可以实现吗?

原理都是一样的,可以实现

使用特权

评论回复
12
jpxuchao|  楼主 | 2015-12-10 09:59 | 只看该作者
FSL_TICS_Jeremy 发表于 2015-12-10 09:33
原理都是一样的,可以实现

好吧,我再试试吧,我想问K02的单片机adc能采电压最大是多少,是基于电压基准的多少吗

使用特权

评论回复
13
FSL_TICS_Jeremy| | 2015-12-10 10:49 | 只看该作者
jpxuchao 发表于 2015-12-10 09:59
好吧,我再试试吧,我想问K02的单片机adc能采电压最大是多少,是基于电压基准的多少吗
...

根据参考电压不同会有不同

使用特权

评论回复
14
jpxuchao|  楼主 | 2015-12-10 10:58 | 只看该作者
FSL_TICS_Jeremy 发表于 2015-12-10 10:49
根据参考电压不同会有不同

好吧,谢谢了

使用特权

评论回复
15
21ic小管家| | 2015-12-10 17:12 | 只看该作者
此打赏为十大热门打赏哦~详情请戳:https://bbs.21ic.com/icview-1219832-1-1.html

使用特权

评论回复
16
李香兰| | 2015-12-10 20:36 | 只看该作者
这个adc属于16位还是12位的啊

使用特权

评论回复
发新帖 本帖赏金 2.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

53

帖子

1

粉丝