查看: 2576|回复: 4

[S12] MC9S12NE64的AD转换问题

[复制链接]

该用户从未签到

5

主题

33

帖子

0

新手上路

Rank: 1

积分
46
最后登录
1970-1-1
发表于 2013-3-21 10:42:27 | 显示全部楼层 |阅读模式
MC9S12NE64的AD转换不能完成吗
while(!ATDSTAT0_SCF);
ATDSTAT0_SCF位不置1。
 
求高手指导。或者发一个NE64 AD转换的最小历程给我也行,不胜感激!
我知道答案 目前已有3人回答
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2013-3-21 15:07:20 | 显示全部楼层

    RE:MC9S12NE64的AD转换问题

    说明没有采集到AD,不建议用while来判断。用if,这样就不会发生死循环。或者用中断的方式来做。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    33

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    1970-1-1
     楼主| 发表于 2013-3-25 16:07:29 | 显示全部楼层

    回复:MC9S12NE64的AD转换问题

    回复第 2 楼 于2013-03-21 15:07:20发表:
    说明没有采集到AD,不建议用while来判断。用if,这样就不会发生死循环。或者用中断的方式来做。 

    没采集到AD不会为零吗?意思是测试的时候要给2个口电压值吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    33

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    1970-1-1
     楼主| 发表于 2013-3-25 16:16:39 | 显示全部楼层

    回复:MC9S12NE64的AD转换问题

    回复第 2 楼 于2013-03-21 15:07:20发表:
    说明没有采集到AD,不建议用while来判断。用if,这样就不会发生死循环。或者用中断的方式来做。 

    给电压也没用。。。
    #include       /* common defines and macros */
    #include "derivative.h"      /* derivative-specific definitions */
    #define LEDCPU PTH
    #define LEDCPU_dir DDRH
    unsigned char AD_in1,AD_in0;
    /*************************************************************/
    /*                      初始化AD模块                         */
    /*************************************************************/
    void INIT_AD(void)
    {
     ATDDIEN =0X00;
     ATDCTL2 = 0x40; 
     ATDCTL3 = 0x10;
     ATDCTL4 = 0XE5;  
     ATDCTL5 = 0xB1; 
     
    }
    /*************************************************************/
    /*                         主函数                            */
    /*************************************************************/
    void main(void) {
      DisableInterrupts;
      LEDCPU_dir = 0xFF;
      INIT_AD();
      
      LEDCPU = 0;
      //ATDCTL5 = 0xB1;
     
      for(;;)
      { ATDCTL5 = 0xB1;
        while(!ATDSTAT0_SCF);
        AD_in0=ATDDR0L;
        AD_in1=ATDDR1L;
        if(AD_in1 >AD_in0)
          LEDCPU = 0;
        else
          LEDCPU = ~LEDCPU;
      }
    }
    这是我的测试程序。MC9S12NE64麻烦高手看看有没有问题
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    33

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    1970-1-1
     楼主| 发表于 2013-3-26 11:13:08 | 显示全部楼层

    回复:MC9S12NE64的AD转换问题

    原因是中断没开,这个好像也没用什么中断额。。。现在又有一个问题了。上面的程序,我AN1通道的值进了ATDDR0。。。AN0通道输入值没反应!求解
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 04:41 , Processed in 0.099490 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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