智能车制作

标题: 求助为什么用AD采集数据通过SCI发送到电脑上失败 [打印本页]

作者: harry1874    时间: 2010-10-24 19:10
标题: 求助为什么用AD采集数据通过SCI发送到电脑上失败
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

void PLL_init(void)
{
    PLLCTL_PLLON=0;
    CLKSEL_PLLSEL=0;
    SYNR=3;
    REFDV=1;
    PLLCTL_PLLON=1;
    while((CRGFLG&0X08)==0X08);
    CLKSEL_PLLSEL=1;
}
void ATD0_init(void)
{
   // ATD0CTL0=0x0f;                    //16位环路
    ATD0CTL1=0X00;                      //8bit精度
    ATD0CTL2=0X20;                      //取消快速清除 禁止触发中断
    ATD0CTL3=0X08;                      //单通道转换 左对齐 非先进先出 冻结模式下转换当前
    ATD0CTL4=0X00;                      //AD模块速度16MHZ采样时间为4
    ATD0CTL5=0X20;                      //扫描模式 单通道 0通道开始
}
void SCI0_init(void)
{
    SCI0BDH=0X00;
    SCI0BDL=208;                         //波特率9600
    SCI0CR1=0X04;
    SCI0CR2=0x2c;
}
void main(void)
{
  
    PLL_init();
    ATD0_init();
    SCI0_init();
    while(1)
    {      
        while(!ATD0STAT0_SCF);
        ATD0STAT0_SCF=1;
        while(!SCI0SR1_TDRE);
        SCI0DRL=ATD0DR0;
        
    }
}

穿到电脑上显示都为0不知道原因,请教大家
作者: harry1874    时间: 2010-10-24 20:55
明白了,最后一句
SCI0DRL=(ATD0DR0>>8);就好
作者: 小狐狸    时间: 2012-3-15 11:28
harry1874 发表于 2010-10-24 20:55
明白了,最后一句
SCI0DRL=(ATD0DR0>>8);就好

sci能同时传两个数据吗?


作者: 夏天C的微笑    时间: 2012-3-15 18:50
小狐狸 发表于 2012-3-15 11:28
sci能同时传两个数据吗?

不可以

作者: 夏天C的微笑    时间: 2012-3-15 18:51
你应该注意一下左对齐还是右对齐的方式存储数据,这样的话,你的“SCI0DRL=(ATD0DR0>>8);”就可以不用了
作者: 小狐狸    时间: 2012-3-17 10:02
夏天C的微笑 发表于 2012-3-15 18:51
你应该注意一下左对齐还是右对齐的方式存储数据,这样的话,你的“SCI0DRL=(ATD0DR0>>8);”就可以不用了

那用串口示波器,怎么有人能有两条线,三条线的~





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