智能车制作

标题: 求救,串口发送,在线等 [打印本页]

作者: xiaoxiaoluo    时间: 2009-5-1 21:09
标题: 求救,串口发送,在线等
我想用AD转换测试一下,然后把AD转换的结果通过串口发送到电脑上,不知道这样直接把ATD0DR0L的数据发送行不行??程序如下,望高手指点,在线等答案
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
   
/*-------串口初始化----------------------*/
void SciInit(){
  SCI0BD=52;//9600,8M的总线频率
  SCI0CR1=0;     /*正常8位,无奇偶校验*/
  SCI0CR2=0X2C;       /*RIE=1,TE=1,RE=1fs发送接受中断允许*/
}
/*-------发射端程序----------------------*/
void SciTx(unsigned char text){
      while (!(SCI0SR1&0x80));  /* wait for output buffer empty */
  SCI0DRH=0;
  SCI0DRL=text;
}
void main()
{   
unsigned char ch;
  SciInit();
   
ATD0CTL2=0XC0; //模块上电
ATD0CTL3=0X08; //1次转换为一个序列
ATD0CTL4=0X87; //设置转换精度为8位 ,,转换频率为2M
ATD0CTL5=0XA1;  //扫描方式,通道是1,右对齐无符号,单通道采样,结果存入ATD0DR0 ,连续转换
ATD0DIEN=0X00;// 禁止数字输入

      while(1)
   {      
       while(!ATD0STAT1_CCF0); //等待转换完成
       ch=ATD0DR0L
      SciTx(ch);   
           
   }
   
   
   
     

}
作者: lie308    时间: 2009-7-6 22:01
试试就知道了
作者: slowboat    时间: 2009-7-9 21:57
SCI0BD=52;//9600,8M的总线频率
这个不对吧
这是我的设置,调试成能行的 8M
    SCI0BDL = 0x34;    //须先给低8位赋值
    SCI0BDH = 0x00;    //再给高8位赋值
作者: qicai    时间: 2010-2-8 10:47
我也可以试试了 呵
作者: 七彩    时间: 2010-2-16 18:31
我试了  不行啦
作者: harry1874    时间: 2010-10-24 18:59
为什么这样不行?求解




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2