[技术问题解答] 关于KL15的ADC问题(已解决)

[复制链接]
3109|6
 楼主| wxb18k 发表于 2014-9-2 17:25 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_A 于 2014-10-8 09:15 编辑

我用了周立功的例程,例程里使用的是PTB0引脚,能运行成功;但是我稍微改了下引脚为PTD6时运行就失败了,下面是这两种情况的代码,请版主们解惑啊~~~
周立功例程代码(成功):
void  adcInit (void)    //初始化
{
    SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK;                                  /* 开启PB GPIO时钟              */
    PORTB_PCR0 = PORT_PCR_MUX(0);                                       /* 开启PB0管脚模拟功能          */
    SIM_SCGC6 |= SIM_SCGC6_ADC0_MASK;                                   /* 开启ADC时钟                  */
    /*
     * 配置ADC相关功能
     */
    ADC0_CFG1 = ADC_CFG1_ADLSMP_MASK | ADC_CFG1_MODE(3) | ADC_CFG1_ADICLK(0);
    ADC0_SC2 |= ADC_SC2_REFSEL(1);                                      /* 选择电源参考源               */
}

INT16U  adcGetUint (void) //ADC读取
{
    ADC0_SC1(0) = ADC_SC1_ADCH(8);                                      /* 选择ADC信道                  */
    while ((ADC0_SC1(0) & ADC_SC1_COCO_MASK) != ADC_SC1_COCO_MASK);     /* 等待转换完成                 */
    return ADC0_R(0);                                                   /* 输出结果                     */
}
我稍微改后的代码:
void  adcInit (void) //初始化
{
    SIM_SCGC5 |= SIM_SCGC5_PORTD_MASK;                                  /* 开启PD GPIO时钟              */
    PORTD_PCR6 = PORT_PCR_MUX(0);                                       /* 开启PD6管脚模拟功能          */
    SIM_SCGC6 |= SIM_SCGC6_ADC0_MASK;                                   /* 开启ADC时钟                  */
    /*
     * 配置ADC相关功能
     */
    ADC0_CFG1 = ADC_CFG1_ADLSMP_MASK | ADC_CFG1_MODE(3) | ADC_CFG1_ADICLK(0);
    ADC0_SC2 |= ADC_SC2_REFSEL(1);                                      /* 选择电源参考源         */
}
INT16U  adcGetUint (void) 读取ADC
{
    ADC0_SC1(0) = ADC_SC1_ADCH(7);                                      /* 选择ADC信道                  */
    while ((ADC0_SC1(0) & ADC_SC1_COCO_MASK) != ADC_SC1_COCO_MASK);     /* 等待转换完成                 */
    return ADC0_R(0);                                                   /* 输出结果                     */
}
 楼主| wxb18k 发表于 2014-9-2 17:30 | 显示全部楼层
这两个引脚的区别:
34.jpg
12.jpg
 楼主| wxb18k 发表于 2014-9-2 17:39 | 显示全部楼层

找到答案了
1234.jpg
FSL_TICS_Robin 发表于 2014-9-3 09:12 | 显示全部楼层
wxb18k 发表于 2014-9-2 17:39
找到答案了

楼主你好
谢谢你与大家分享问题原因,以后有问题欢迎在飞思卡尔MCU论坛发帖与大家一起讨论。:D
feixiakebi 发表于 2014-9-10 15:54 | 显示全部楼层
楼主你好,请问ptb0引脚在这个例子中是干什么用的,是中断吗
FSL_TICS_Robin 发表于 2014-9-11 09:40 | 显示全部楼层
feixiakebi 发表于 2014-9-10 15:54
楼主你好,请问ptb0引脚在这个例子中是干什么用的,是中断吗

你好
如果遇到问题,建议在论坛里发帖与大家一起讨论。
记得详细描述一下,以便大家更容易参与讨论。

FSL_TICS_A 发表于 2014-10-8 09:15 | 显示全部楼层
谢谢楼主与大家分享此问题经验!
由于你长时间未结帖,所以先把你的帖子标示成已解决了。
如果有空还请配合我们按照论坛置顶帖:本论坛中结帖方式 描述操作

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

本版积分规则

20

主题

140

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部