智能车制作

标题: SCI通信问题 [打印本页]

作者: D_Wade    时间: 2012-3-22 09:41
标题: SCI通信问题
我按照书本上的方式写了一个程序,可在串口调试助手里得不到想要的结果,冥思苦想,也没有头绪,希望哪位大侠出售相助
程序的目的是:通过SCI输出0~99

#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
void SCI0_Init(void){
  SCI0BD=52;
  SCI0CR1=0X00;
  SCI0CR2=0X0C;
}
void delay(void){
  unsigned int i,j;
  for(i=0;i<500;i++){
    for(j=0;j<500;j++){
      ;
    }
  }
}


void main(void) {
  /* put your own code here */
   unsigned char index;
   SCI0_Init();
   for(index=0;index<100;index++){
    while(SCI0SR1_TC==0);
       SCI0DRL=index;
    delay();
   
   }
EnableInterrupts;

  for(;;) {
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}

输出的是对应的ASCII码表的值,如何转换让它显示数值?

还有一个问题,在AD转换中,如何把SCI的输出转换成具体的数据,而不需要十六进制显示

作者: 毛毛儿    时间: 2012-3-22 10:22
SCI发送是不是应该放在for循环里……
作者: 模拟cmos    时间: 2012-3-22 12:36
你可能会需要这个东西  http://item.taobao.com/item.htm?id=14478455287
作者: liyun9999    时间: 2012-4-8 15:57
楼上纯SB,这玩意也卖
作者: chengqun    时间: 2012-9-16 11:43
没看出什么
作者: 676431432    时间: 2012-9-16 13:30
首先,不应该是SCI0BDL来设置波特率吗,判断可不可以发送是判断SCISR1的TDRE位,而不是TC位。还有吧发送函数放到主函数的for中去,把开门狗注释掉




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