打印
[Kinetis]

KEA64 读取A/D问题?(已解决)

[复制链接]
1602|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 FSL_TICS_A 于 2014-5-5 11:09 编辑

MCU KEA64 开发环境cw10.5
1,原理图如图:

A/D配置代码如下:
/***********************************************************************************************
*
* @brief    main() - Program entry function
* @param    none
* @return   none
*
************************************************************************************************/  


int main(void)
{
        UINT32 counter = 0;
        UINT8 adc_value = 0;
        
        Clk_Init();                        /* Configure clocks to run at 20 Mhz */
        GPIO_Init();                        /* Configure button pins as inputs and LED pins as outputs */
        ADC_Init(3,EIGTH_BIT);        /* Configure ADC channel 3 in 8-bit resolution mode */
        
        for(;;) {           
                   counter++;
                  
            adc_value=ADC_Read(3); /* Read ADC value from channel 3 */
            
            /* Display ADC value in LED0, LED1, LED2 and LED3*/
                   adc_value = adc_value >> 4;
                   GPIOA_PSOR |=adc_value <<16;
                   adc_value = (char)~adc_value ^ 0b11110000;
                   GPIOA_PCOR |= (adc_value) << 16;
        }
        
        return 0;
}

/***********************************************************************************************
*
* @brief    ADC_Init - Initiates the Channel to read the value of the ADC channel
*                          
* @param    Channel to init and resolution
* @return   none
*
************************************************************************************************/  
void ADC_Init(UINT8 channel, UINT8 mode)
{
        SIM_SCGC |= SIM_SCGC_ADC_MASK;
        ADC_SC1 = 0        ;
        ADC_SC1|= ADC_SC1_ADCO_MASK;                          /* Continuous mode operation */        
        ADC_SC3 |= ADC_SC3_MODE(mode);                        /* 8,10,12 bit mode operation */
        ADC_APCTL1 |= ADC_APCTL1_ADPC(1<<channel);   /* Channel selection */        

}

/***********************************************************************************************
*
* @brief    ADC_Read - Read the selected ADC channel
* @param    ch - channel to read
* @return   result
*
************************************************************************************************/
UINT16 ADC_Read(UINT8 channel)
{
        
        ADC_SC1 |= ADC_SC1_ADCH(channel);                /* Select channel to read */
        while(!(ADC_SC1 & ADC_SC1_COCO_MASK));        /* Wait conversion to complete */
        return ADC_R;                                                        /* Return adc value */

}   
用OPENSDA调试,PTA7电平是5V,为什么每次读出A/D值都是0?参照原理图A/D配置,A/D应该没有问题,不解,请高手指点!

请问谁手上有详细CW10.5使用手册,英文也行。。
  

相关帖子

沙发
FSL_TICS_ZJJ| | 2014-4-21 11:21 | 只看该作者
楼主你好,感谢你对飞思卡尔产品的关注。
我首先回答你CW10.5的使用手册问题,在你的安装目录下面,会有很多的相关文档,默认路径为:C:\Freescale\CW MCU v10.6\MCU\Help\PDF
你也可以通过CW的搜索来查找你需要的内容。

使用特权

评论回复
板凳
FSL_TICS_ZJJ| | 2014-4-21 11:46 | 只看该作者
你是说你PTA7外部接了5V?

使用特权

评论回复
地板
caijun_2012|  楼主 | 2014-4-21 15:28 | 只看该作者

使用特权

评论回复
5
FSL_TICS_Admin| | 2014-4-21 16:14 | 只看该作者
请问一下你的VREFL引脚接到哪里了呢?

使用特权

评论回复
6
FSL_TICS_ZJJ| | 2014-4-21 16:35 | 只看该作者
FSL_TICS_Admin 发表于 2014-4-21 16:14
请问一下你的VREFL引脚接到哪里了呢?

VREFH是内部接到了VDDA,下面是RM上面的。

使用特权

评论回复
7
FSL_TICS_ZJJ| | 2014-4-21 16:43 | 只看该作者
但是VREFL的引脚的情况是,如果你芯片封装带有VREFL引脚,那么它没有内部连接到VSSA,你需要外部连接到VSSA。
如果不带有VREFL引脚,说明就是内部连接到VSSA了。
所以楼主需要检查一下你的VREFL引脚的连接情况。

使用特权

评论回复
8
caijun_2012|  楼主 | 2014-5-5 21:01 | 只看该作者

谢谢问题以解决

使用特权

评论回复
9
FSL_TICS_A| | 2014-6-16 17:54 | 只看该作者
飞思卡尔MCU论坛新增 [ 汽车MCU-KEA ] 版块了!
大家以后遇到相关问题或资料,在发帖时可以直接将帖子类型选择成[ 汽车MCU-KEA ]

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

226

帖子

2

粉丝