智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1704|回复: 1
打印 上一主题 下一主题

SCIandATD

[复制链接]

2

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
威望
155
贡献
34
兑换币
0
注册时间
2011-11-22
在线时间
15 小时
跳转到指定楼层
1#
发表于 2011-12-22 16:44:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
准备用xs128的AD模块采集电位器与电阻间的电压,再通过串口通信在串口调试助手上显示,调试了好多次,始终没有显示。这个任务完成了就复习了,大虾们帮帮忙了~看哪里出错了
  1. #include <hidef.h> /* common defines and macros */
  2. #include "derivative.h" /* derivative-specific definitions */
  3. unsigned char a;
  4. void SCI_init(){
  5. SCI0BDH=0x00;
  6. SCI0BDL=0x34;
  7. SCI0CR1=0x00;
  8. SCI0CR2=0x0c;
  9. }
  10. void ADinit(){
  11. // ATD0CTL0=0b01000010;
  12. ATD0CTL1=0b00000000;//8位精度
  13. ATD0CTL2=0b01000000;//禁止外部触发,标志位快速清零,中断禁止
  14. ATD0CTL3=0b10001000;//右对齐无符号.转换序列长度为1
  15. ATD0CTL4=0b00000001;//4AD采样周期;ATDClock=[BusClock*0.5]/[PRS+1] ,PRS=1,ATDClock=2Mhz ;
  16. ATD0DIEN=0b00000000;//禁止数字输入
  17. ATD0CTL5=0b00100000;//特殊通道禁止,单通道采样,扫描模式连续采样,ch AN0
  18. }
  19. void main(void) {
  20. /* put your own code here */
  21. SCI_init();
  22. ADinit();
  23. EnableInterrupts;
  24. for(;;) {
  25. while(!ATD0STAT0_SCF);
  26. ATD0STAT0_SCF=1;
  27. while(!SCI0SR1_TDRE);
  28. SCI0DRL=ATD0DR0L;
  29. _FEED_COP(); /* feeds the dog */
  30. } /* loop forever */
  31. /* please make sure that you never leave main */
  32. }
复制代码

10

主题

455

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6364
QQ
威望
3231
贡献
1725
兑换币
495
注册时间
2011-3-12
在线时间
704 小时
2#
发表于 2011-12-23 15:02:25 | 只看该作者
等待高手赐教,我做出来的AD结果也有问题
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 16:21 , Processed in 0.107387 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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