查看: 1767|回复: 5

[已解决] 关于单个AD转换的问题(已解决)

[复制链接]

该用户从未签到

23

主题

122

帖子

0

注册会员

Rank: 2

积分
177
最后登录
1970-1-1
发表于 2014-8-20 18:36:56 | 显示全部楼层 |阅读模式
 MKL05Z32VLC4芯片,主频设为48MHz。想在定时器中断中单个触发AD转换,按照PE帮助文档中One conversion of a created sample group, without interrupt service项下的例子代码去做,却不行。问题就出在AD1_StartSingleMeasurement函数中的if (ADC_PDD_GetConversionActiveFlag(ADC0_BASE_PTR) != 0U)   /* Last measurement still pending? */ 这条语句上,一到这就死了,不知何故。请问要达到上述目的在PE中应该怎么设置?
我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

10

主题

89

帖子

0

中级会员

Rank: 3Rank: 3

积分
378
最后登录
1970-1-1
发表于 2014-8-20 21:37:41 | 显示全部楼层

RE:关于单个AD转换的问题

if (ADC_PDD_GetConversionActiveFlag(ADC0_BASE_PTR) != 0U) 程序死了?还是复位?
这个是读取转换的标志位,一个判断应该不会死,这个可能原因是ADC初始化没成功或不正确,建议楼主MKL05Z32VLC4的数据手册的ADC模块
回复 支持 反对

使用道具 举报

该用户从未签到

23

主题

122

帖子

0

注册会员

Rank: 2

积分
177
最后登录
1970-1-1
 楼主| 发表于 2014-8-21 09:04:52 | 显示全部楼层

回复:关于单个AD转换的问题

回复第 2 楼 于2014-08-20 21:37:41发表:
if (ADC_PDD_GetConversionActiveFlag(ADC0_BASE_PTR) != 0U) 程序死了?还是复位?
这个是读取转换的标志位,一个判断应该不会死,这个可能原因是ADC初始化没成功或不正确,建议楼主MKL05Z32VLC4的数据手册的ADC模块
 
这个问题已经搞清楚了,是在定时器中断里启动了AD转换,而AD的初始化在主程序中,定时器是一开始在AD还没有初始化前就工作的,如此一来在AD还未来得及初始化前就已启动AD转换了,所以出此问题。
 
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-8-21 09:48:10 | 显示全部楼层

    回复:关于单个AD转换的问题(已解决)

    回复第 3 楼 于2014-08-21 09:04:52发表:
    回复第 2 楼 于2014-08-20 21:37:41发表:
    if (ADC_PDD_GetConversionActiveFlag(ADC0_BASE_PTR) != 0U) 程序死了?还是复位?
    这个是读取转换的标志位,一个判断应该不会死,这个可能原因是ADC初始化没成功或不正确,建议楼主MKL05Z32VLC4的数据手册的ADC模块
     
    这个问题已经搞清楚了,是在定时器中断里启动了AD转换,而AD的初始化在主程序中,定时器是一开始在AD还没有初始化前就工作的,如此一来在AD还未来得及初始化前就已启动AD转换了,所以出此问题。
     

     

    感谢楼主你与大家分享问题所在
    PE如果使能自动初始化几个相互关联模块,有时就会发生这类问题。
    比如:首先初始化完毕的模块调用尚未初始化完成的模块寄存器,此时尚未初始化完成的模块会产生错误。
    所以一般我们都是手动调用PE生成的模块初始化函数。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2014-8-21 10:31:08 | 显示全部楼层

    RE:关于单个AD转换的问题(已解决)

    建议不要在定时器中进行转换,尽量避免在中断中处理。可以在定时器中加标志位,主程序对标志位判断然后再进行初始化AD。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    351

    帖子

    0

    高级会员

    Rank: 4

    积分
    973
    最后登录
    1970-1-1
    发表于 2014-8-21 11:26:11 | 显示全部楼层

    RE:关于单个AD转换的问题(已解决)

    用别人写的库就是这个麻烦,如果遇到问题查起来费劲。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 15:12 , Processed in 0.119784 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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