查看: 8974|回复: 12

[原创] 【YL-KL26Z开发】+ CMP简单功能实现

[复制链接]

该用户从未签到

42

主题

340

帖子

0

高级会员

Rank: 4

积分
722
最后登录
2016-1-9
发表于 2015-7-22 15:40:30 | 显示全部楼层 |阅读模式
接上次DA转换实验:https://www.nxpic.org.cn/module/forum/thread-600218-1-1.html

本次所做实验为KL26Z的CPM功能,这个功能貌似被ADC里面的比较功能给覆盖了,但是ADC的比较功能只能是相应的两个AD通道,而CPM可以实现多通道进行比较,可以相互比较,也可以由自带的DAC产生基准电压与之比较,非常方便。

这次直接用到例程上的源程序,没有做更改,只是标注了一些地方。

#include "includes.h"

void gpioInit(void)                                             //配置需要点亮的LED的IO
{
    SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK;                                
    PORTB_PCR18 |= (PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK);              
    FGPIOB_PSOR |= 1<<18;                                            
    FGPIOB_PDDR |= 1<<18;                                               
}


void cmpInit(INT8U ucdacOut)
{
    SIM_SCGC4 |= SIM_SCGC4_CMP_MASK;                                    //使能时钟
    SIM_SCGC5 |= SIM_SCGC5_PORTC_MASK;                                 
        /*
     *  CMP DAC配置
     */
    CMP0_DACCR |= CMP_DACCR_DACEN_MASK | CMP_DACCR_VOSEL_MASK | CMP_DACCR_VOSEL(ucdacOut);
    PORTC_PCR6 |= PORT_PCR_MUX(0);                                 /* 这里并不是源程序所说的模拟输入,而是PTC6的默认配置(MUX(0))就是DMP0输入*/
    /*
     *  选择通道为CMP0和DA产生的通道7
     */
    CMP0_MUXCR |= CMP_MUXCR_PSTM_MASK | CMP_MUXCR_MSEL(7) | CMP_MUXCR_PSEL(0);
    CMP0_CR1 |=  CMP_CR1_COS_MASK | CMP_CR1_EN_MASK;                    /* 使能CMP为直通模式 */

}


BOOLEAN cmpOutput(void)
{
    if(CMP0_SCR & CMP_SCR_COUT_MASK) {                                  /* 判断CMP输出情况          */
        return 1;
    } else {
        return 0;
    }
}



void redLedSet(BOOLEAN bMode)                       //判断并决定LED现在应该是什么状态{
    if(bMode == True) {
        FGPIOB_PCOR |= 1<<18;                                          
    } else {
        FGPIOB_PSOR |= 1<<18;                                          
    }
}



int  main (void)
{
    INT8U ucdacOut = 1.50 * 64 / 2.90;                               //设置DA输出的值,即输入值与其比较(通道7)
    SystemCoreClockUpdate();
    gpioInit();                                                     
    cmpInit(ucdacOut);                                                
    while(1){
        redLedSet(cmpOutput());                                       
    };
}





本次实验比较简单,但是调试过程遇到了一些问题:

在用电压源给PTC6电压时,发现 INT8U ucdacOut = 1.50 * 64 / 2.90 中,无论是1.50还是1.00或是3.00。显示结果都是在2.8V左右变化。





评分

参与人数 1NXP金币 +30 收起 理由
小七 + 30 打赏!

查看全部评分

回复

使用道具 举报

  • TA的每日心情
    开心
    2018-8-30 16:02
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    36

    主题

    1065

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1851
    最后登录
    2019-11-19
    发表于 2015-7-22 19:07:07 | 显示全部楼层
    支持一下。
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16860
    最后登录
    1970-1-1
    发表于 2015-7-22 21:17:54 | 显示全部楼层
    楼主设备很专业啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    42

    主题

    340

    帖子

    0

    高级会员

    Rank: 4

    积分
    722
    最后登录
    2016-1-9
     楼主| 发表于 2015-7-22 21:19:11 | 显示全部楼层

    谢谢,如果能帮忙解答一下问题就更好了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    42

    主题

    340

    帖子

    0

    高级会员

    Rank: 4

    积分
    722
    最后登录
    2016-1-9
     楼主| 发表于 2015-7-22 21:19:26 | 显示全部楼层
    lkl0305 发表于 2015-7-22 21:17
    楼主设备很专业啊

    是在学校的实验室
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29

    主题

    439

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    720
    最后登录
    2015-12-29
    发表于 2015-7-23 12:23:16 | 显示全部楼层
    都是设备齐全啊,看来我有空也要搞测试了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-11-5 18:45
  • 签到天数: 158 天

    连续签到: 1 天

    [LV.7]常住居民III

    26

    主题

    669

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1724
    最后登录
    2020-11-5
    发表于 2015-10-8 23:56:33 | 显示全部楼层
    谢谢分享!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-10-12 12:39:38 | 显示全部楼层
    谢谢分享   
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    59
    最后登录
    1970-1-1
    发表于 2015-10-22 11:35:14 | 显示全部楼层
    感谢分享,学习中,谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    189

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    244
    最后登录
    2020-10-19
    发表于 2015-10-22 13:44:24 | 显示全部楼层
    高手出来解答一下楼主的问题啊
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-4 06:28 , Processed in 0.107753 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表