打印
[Kinetis]

【YL-KL26Z开发】+ AD转换的基本调试

[复制链接]
503|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Beckham_Owen|  楼主 | 2015-10-14 20:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天分享给大家的是KL26Z的AD转换模块,如下图所示:



VR1就是板子左边的那个大红旋钮,实际就是一个滑动变阻器,滑变的中间管脚接到PTE20,也就是程序中设置为AD输入口的管脚。

通过调节旋钮改变输入PTE20的电压值,通过AD转换后再用串口显示在PC上。

主程序如下:
#include "includes.h"
#include "stdio.h"


void myDelay (INT32U ulTime)
{
    INT32U i;

    i = 0;
    while (ulTime--) {
        for (i = 0; i < 5000; i++);
    }
}


int  main (void)
{
    INT16U Vout = 0;
        
    SystemCoreClockUpdate();
        
    uart0Init(9600,0,0,8,1);                                            /* 串口0初始化*/
    printf("ADC Test Start\r\n");
        
   adcInit();                                                          /* AD初始化*/

    while (1) {

          Vout = adcGetUint();                                            /* 读取转换结果 */
        printf("Vout=%d\n",Vout);
        myDelay(500);
                          
    }
}


相关帖子

沙发
Beckham_Owen|  楼主 | 2015-10-14 20:14 | 只看该作者
在来看AD初始化函数:
void  adcInit (void)
{
    SIM_SCGC5 |= SIM_SCGC5_PORTE_MASK;                                  /* 开启PTE的GPIO功能*/
    PORTE_PCR20 = PORT_PCR_MUX(0);                                       /* 设置PTE20为模拟输入*/
    SIM_SCGC6 |= SIM_SCGC6_ADC0_MASK;                                   /* 开启ADC时钟 */
    /*
     * 配置ADC功能:长采样时间;16位精度;时钟为总线时钟
     */
    ADC0_CFG1 = ADC_CFG1_ADLSMP_MASK | ADC_CFG1_MODE(3) | ADC_CFG1_ADICLK(0);
    ADC0_SC2 |= ADC_SC2_REFSEL(1);                                      /* 选择电源为参考源*/
}

其实在ADC配置函数里面少了一些没有说明:

使用特权

评论回复
板凳
Beckham_Owen|  楼主 | 2015-10-14 20:16 | 只看该作者




默认选择单端输入模式。


这里默认选择ADC通道0。

然后是AD结果读取函数:
INT16U  adcGetUint (void)
{
    ADC0_SC1(0) = ADC_SC1_ADCH(0);                                      /* 选择ADC信道  */
    while ((ADC0_SC1(0) & ADC_SC1_COCO_MASK) != ADC_SC1_COCO_MASK);     /* 等待转换完成*/
    return ADC0_R(0);                                                          /* 返回结果  */
}
这里用的是查询的方式,不再多提。

还有一些和本次程序无关的默认值,就不再提了。

使用特权

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

本版积分规则

32

主题

234

帖子

1

粉丝