查看: 3850|回复: 6

[求助] MK02FN64VFM10的ADC用PDB触发

[复制链接]

该用户从未签到

1

主题

4

帖子

0

新手上路

Rank: 1

积分
13
最后登录
2015-12-3
发表于 2015-12-2 14:00:02 | 显示全部楼层 |阅读模式
各位大侠:
             小弟刚使用飞思卡尔单片机MK02FN64VFM10。目前使用PDB触发ADC采样,遇到了不能触发转换的问题,代码如下
       
        ADC0_CFG1 |=0x0000000C;//16λADC
        ADC0_CFG2 |=0x00000004;//¸ßËÙת»¯
        ADC0_SC1A=0x00;
        ADC0_SC1A  |=0x00000009;//ADC9£¬µ¥¶Ëģʽ
        ADC0_SC2 |=0x00000004;//Ó²¼þ´¥·¢×ª»¯
        ADC0_SC3 |=0x0000000E;//Á¬Ðø×ª»»

       SIM_SCGC6 |= SIM_SCGC6_PDB_MASK ;  // 使能时钟
//两个ADC模块,配置他们的触发方式(软硬触发?)
SIM_SOPT7 &= ~(SIM_SOPT7_ADC1ALTTRGEN_MASK  |    // 由于ADC1可以硬件触发,也可以软件触发,这里选择PDB(软件)触发
                SIM_SOPT7_ADC1PRETRGSEL_MASK |   // 选择预触发器A
                SIM_SOPT7_ADC0ALTTRGEN_MASK  | // selects PDB not ALT trigger
                SIM_SOPT7_ADC0ALTTRGEN_MASK) ;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SIM_SOPT7 = SIM_SOPT7_ADC0TRGSEL(0);       // 选择在PDB模式下,ADC的触发的输入命令源,这里是PDB的外部管脚;103或者111
                                             // PDB external pin input trigger for ADC
SIM_SOPT7 = SIM_SOPT7_ADC1TRGSEL(0);       // same for both ADCs
// 配置频率,使能pdb,以及选择pdb的中断触发源,
PDB0_SC =  PDB_SC_CONT_MASK       //配置成是连续触发还是单发的
         | PDB_SC_PDBEN_MASK      // PDB enabled
         | PDB_SC_PDBIE_MASK      // PDB Interrupt Enable
         | PDB_SC_PRESCALER(0x5)  // 配置分频
         | PDB_SC_TRGSEL(0xf)     // 中断源选择,这里是软件中断,就是配置触发中断的方式
         | PDB_SC_MULT(2);        // Multiplication factor 20 for the prescale divider for the counter clock
                                  // the software trigger, PDB_SC_SWTRIG_MASK is not triggered at this time.
PDB0_IDLY = 0x0000;   // 软件中断发生时刻,其实也是读取转换值时刻
PDB0_MOD = 0xffff;    // 总周期
// channel 0 pretrigger 0 and 1 enabled and delayed
PDB0_CH0C1 = PDB_C1_EN(0x01)   //使能通道0预触发模式
           | PDB_C1_TOS(0x01)   //选择某一PDB通道为ADC的预触发输出
           | PDB_C1_EN(0x02)
           | PDB_C1_TOS(0x02) ;
PDB0_CH0DLY0 = ADC0_DLYA ;   //这里配置0时刻开始,就会去做adc的通道之类的链接
PDB0_CH0DLY1 = ADC0_DLYB ;   //到了1时刻就开启ADC了,完成了一次数据转换了,在中断时候提出数据

/ channel 1 pretrigger 0 and 1 enabled and delayed
PDB0_CH1C1 = PDB_C1_EN(0x01)
           | PDB_C1_TOS(0x01)
           | PDB_C1_EN(0x02)
           | PDB_C1_TOS(0x02) ;
PDB0_CH1DLY0 = ADC1_DLYA ;
PDB0_CH1DLY1 = ADC1_DLYB ;
PDB0_SC =  PDB_SC_CONT_MASK        // Contintuous, rather than one-shot, mode
         | PDB_SC_PDBEN_MASK       // PDB enabled
         | PDB_SC_PDBIE_MASK       // PDB Interrupt Enable
         | PDB_SC_PRESCALER(0x5)   // Slow down the period of the PDB for testing
         | PDB_SC_TRGSEL(0xf)      // Trigger source is Software Trigger to be invoked in this file
         | PDB_SC_MULT(2)          // Multiplication factor 20 for the prescale divider for the counter clock
         | PDB_SC_LDOK_MASK;       // Need to ok the loading or it will not load certain regsiters!
不知道是什么问题,是不是配置PDB的触发不对还是ADC触发形式选择不对?
我知道答案 目前已有6人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2020-3-29 09:54
  • 签到天数: 418 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    2928

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3307
    最后登录
    2021-4-7
    发表于 2015-12-2 16:59:59 | 显示全部楼层
    不懂帮顶。。

    FSL-logo.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 20:37
  • 签到天数: 2455 天

    连续签到: 11 天

    [LV.Master]伴坛终老

    17

    主题

    5364

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    11305
    最后登录
    2025-7-23
    发表于 2015-12-2 19:57:51 | 显示全部楼层
    先了解下。。。
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-4 23:20
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    9

    主题

    573

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1785
    最后登录
    2017-3-3
    发表于 2015-12-2 21:28:47 | 显示全部楼层
    帮顶
    091541cr1iu0jkaf0zjmqc.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2015-12-3 08:34:57 | 显示全部楼层
    帮顶一下
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    9

    主题

    642

    帖子

    0

    高级会员

    Rank: 4

    积分
    748
    最后登录
    1970-1-1
    发表于 2015-12-3 08:47:34 | 显示全部楼层
    过来学习一下
    104930kli5jsmlssemljli.png
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2015-12-8 15:40:36 | 显示全部楼层
    楼主你好!
    关于PDB触发ADC,你可以参考下我们K60的一篇文章:
    https://www.nxpic.org.cn/module/forum/thread-562238-1-1.html
    你可以使用那边的代码,如果还有问题,欢迎继续交流。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-24 09:09 , Processed in 0.101240 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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