智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1882|回复: 3
打印 上一主题 下一主题

求求各位大哥了,我的AD程序,串口怎么没值啊,一个人搞了好几天

[复制链接]

3

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
威望
218
贡献
84
兑换币
125
注册时间
2013-3-8
在线时间
57 小时
毕业学校
铜陵学院
跳转到指定楼层
1#
发表于 2013-6-9 17:45:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include <hidef.h>                      /* common defines and macros */
#include "derivative.h"                 /* derivative-specific definitions */
int ATD0_data;
int ATD1_data;

#define  BUS_CLOCK 32000000
#define  BAUD      9600

/*************************************************************/
/*                      初始化锁相环                         */
/*************************************************************/
void PLL_32M(void)                     
{
    CLKSEL &= 0x7f;                    
    PLLCTL &= 0x8F;                     
    CRGINT &= 0xDF;
   
    SYNR = 0x43;                             
    REFDV = 0x81;                       
   
    PLLCTL = PLLCTL | 0x70;            
    asm NOP;
    asm NOP;
    while(!(CRGFLG&0x08));              
    CLKSEL |= 0x80;                     
}
/*************************************************************/
/*                         AD初始化                          */
/*************************************************************/
void ATD_inits(void)
{   
    ATD0CTL1=0x00;                      //8位精度         
    ATD0CTL2=0X40;                      //快速清除
    ATD0CTL3=0X10;                      //右对齐 序列2
    ATD0CTL4=0X87;
   
    ATD0DIEN=0X00;                     //ADclock = 32/(2*(1+1)) = 8M ADclock最大8.3M
}
/*************************************************************/
/*                        AD采集函数                         */
/*************************************************************/
void ATD_gather(void)
{
    ATD0CTL5=0X30;                      //单次转换
    while(!(ATD0STAT0_SCF==1));   
    ATD0_data=ATD0DR0;
     //ATD1_data=ATD0DR1;
}
/************************************************************/
/*               初始化串口                                 */
/************************************************************/
void SCI_inits(void)
{   
     SCI0BD=BUS_CLOCK/ 16/BAUD;
     SCI0CR1=0x00;
     SCI0CR2=0x08;
     
}

/************************************************************/
/*               串口发送函数                                 */
/************************************************************/

void SCI_send(unsigned char data)

{
         while(!SCI0SR1_TDRE);
         SCI0DRL=data;
         
}
  
/*************************************************************/
/*                         延时函数                          */
/*************************************************************/
void delay(void)                        //演示函数未测试具体时间仅用来测试系统是否运行
{
    unsigned int i,j;
    for(i=0;i<3;i++)
      for(j=0;j<50000;j++);
}

void main(void)
{
  /* put your own code here */
  DisableInterrupts;                    
  PLL_32M();                            //PLL倍频
  ATD_inits();
  SCI_inits();

EnableInterrupts;

  for(;;)
  {
    ATD_gather();
    SCI_send(ATD0_data);
           
  } /* loop forever */
  /* please make sure that you never leave main */
}

0

主题

10

帖子

0

精华

注册会员

Rank: 2

积分
63
威望
33
贡献
26
兑换币
20
注册时间
2013-4-22
在线时间
2 小时
毕业学校
西北工业大学
2#
发表于 2013-6-11 11:53:36 | 只看该作者
没用过飞思卡尔单片机,帮不了你。
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1471
威望
706
贡献
393
兑换币
409
注册时间
2012-4-15
在线时间
186 小时
毕业学校
南昌大学
3#
发表于 2013-7-29 09:56:45 | 只看该作者
为什么不是:while(!(ATD0STAT2_CCF0));求解
回复 支持 反对

使用道具 举报

30

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2063
威望
1008
贡献
633
兑换币
600
注册时间
2013-3-9
在线时间
211 小时
毕业学校
杭州电子科技大学
4#
发表于 2013-7-30 19:36:27 | 只看该作者
SCI不懂
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-20 23:33 , Processed in 0.050363 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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