智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3909|回复: 16
打印 上一主题 下一主题

mc9s12dg128的ad转换程序,结果为啥总是255。。

  [复制链接]

2

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
335
威望
252
贡献
59
兑换币
12
注册时间
2011-8-7
在线时间
12 小时
跳转到指定楼层
1#
发表于 2012-9-3 22:06:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
把AD的转换的值用串口发出来,结果现在发现串口发出的值一直都是255,不知道为什么,请给位给点指导,谢谢。


#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
byte data;
void ADCInit()
{
  ATD0CTL2=0xc0;  //AD模块上电, 快速清零, 无等待模式, 禁止外部触发, 中断禁止
  ATD0CTL3=0x20; // 每个序列4次转换, No FIFO, Freeze模式下继续转换
  ATD0CTL4=0x83; // 8位精度, 2个时钟, ATDClock=[BusClock*0.5]/[PRS+1]  ; PRS=3, divider=8
  ATD0CTL5=0xA0; //右对齐无符号,单通道采样,通道0
  ATD0DIEN=0x00; // 禁止数字输入
}
void SCI0_Init(void)
    {
SCI0BDL = (unsigned char)((16000000UL /* OSC freq */ / 2) / 9600 /* baud rate */ / 16 /*factor*/);
SCI0CR1=0X00;
SCI0CR2=0X0C;
    }
void sci_write(byte data) {//SCI写函数   
    while(!(SCI0SR1_TDRE));//判断发送是否准备好   
    SCI0DRH=0;
     SCI0DRL=data;
}

void main(void) {     
  ADCInit();   //AD初始化
  SCI0_Init();
for(;;) {
  while(!ATD0STAT1_CCF0);   //等待转换结束   
  data=ATD0DR0;   
    while(!(SCI0SR1_TDRE));  
     sci_write((byte)data);
  }
}
请各位高手帮我改一下,谢了。

49

主题

3751

帖子

1

精华

顶级版主

Rank: 11Rank: 11Rank: 11Rank: 11

积分
27948

资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章技术大牛奖章

威望
10632
贡献
10964
兑换币
4564
注册时间
2010-11-23
在线时间
3176 小时
2#
发表于 2012-9-3 22:20:17 | 只看该作者
额,用DG的都是老一辈了。
回复 支持 反对

使用道具 举报

489

主题

1691

帖子

1

精华

管理员

网站创始人&站长

Rank: 11Rank: 11Rank: 11Rank: 11

积分
85868

特殊贡献奖章资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

QQ
威望
56944
贡献
17354
兑换币
13128
注册时间
2007-6-8
在线时间
5785 小时
3#
发表于 2012-9-4 08:09:53 | 只看该作者
检查下硬件吧,看看参考电压引脚有木有接好
回复 支持 反对

使用道具 举报

6

主题

26

帖子

0

精华

高级会员

Rank: 4

积分
703
威望
390
贡献
177
兑换币
124
注册时间
2012-9-18
在线时间
68 小时
4#
发表于 2012-10-13 17:29:18 | 只看该作者
估计是你定义的byte data; 这个``因为byte = unsigned uchar,而这个数值范围最大到255....
回复 支持 反对

使用道具 举报

68

主题

1086

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4578

活跃会员奖章优秀会员奖章论坛元老奖章论坛骨干奖章在线王奖章

QQ
威望
2515
贡献
1213
兑换币
1382
注册时间
2012-9-19
在线时间
425 小时
5#
发表于 2012-10-14 00:15:12 | 只看该作者
不太明白啊
回复 支持 反对

使用道具 举报

11

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
245
威望
145
贡献
52
兑换币
5
注册时间
2012-10-16
在线时间
24 小时
6#
发表于 2012-10-17 12:53:10 | 只看该作者
turf456 发表于 2012-9-3 22:20
额,用DG的都是老一辈了。

为什么是老一辈的?
回复 支持 反对

使用道具 举报

49

主题

3751

帖子

1

精华

顶级版主

Rank: 11Rank: 11Rank: 11Rank: 11

积分
27948

资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章技术大牛奖章

威望
10632
贡献
10964
兑换币
4564
注册时间
2010-11-23
在线时间
3176 小时
7#
发表于 2012-10-17 13:11:58 | 只看该作者
崔123 发表于 2012-10-17 12:53
为什么是老一辈的?

最近几届智能车不让用DG了。
回复 支持 反对

使用道具 举报

11

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
245
威望
145
贡献
52
兑换币
5
注册时间
2012-10-16
在线时间
24 小时
8#
发表于 2012-10-17 18:36:51 | 只看该作者
turf456 发表于 2012-10-17 13:11
最近几届智能车不让用DG了。

不是啊!他们去年还用了。不用DG,除了XS用什么?
回复 支持 反对

使用道具 举报

49

主题

3751

帖子

1

精华

顶级版主

Rank: 11Rank: 11Rank: 11Rank: 11

积分
27948

资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章技术大牛奖章

威望
10632
贡献
10964
兑换币
4564
注册时间
2010-11-23
在线时间
3176 小时
9#
发表于 2012-10-17 19:55:34 | 只看该作者
崔123 发表于 2012-10-17 18:36
不是啊!他们去年还用了。不用DG,除了XS用什么?

第六届明文规定不让用啊。

车模控制电路须采用飞思卡尔半导体公司的 8 位、16 位MCU 作为唯一的
微控制器。16 位MCU 只能采用9S12XS128(封装不限),也可以选用16
位DSC 或8 位MCU(8 位MCU 可以使用2 片)
回复 支持 反对

使用道具 举报

11

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
245
威望
145
贡献
52
兑换币
5
注册时间
2012-10-16
在线时间
24 小时
10#
发表于 2012-10-17 23:17:29 | 只看该作者
turf456 发表于 2012-10-17 19:55
第六届明文规定不让用啊。

车模控制电路须采用飞思卡尔半导体公司的 8 位、16 位MCU 作为唯一的

额~错了!他们去年用的是G128
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 10:52 , Processed in 0.057868 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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