智能车制作

标题: XS128 串口求问 [打印本页]

作者: Mark_    时间: 2015-7-17 15:31
标题: XS128 串口求问
发送SCI程序如下:
void SCI_Transmit_char( unsigned char c)
{
  while(!(SCI0SR1&0x80));//keep waiting when not empty  
  SCI0DRL = c;
}
/*
************************************************************************************************
*函数:void SCI_Transmit_str(char ch[])
*参数:ch[]:要发送的字符串
*返回:0
*功能:串口发送字符串
************************************************************************************************
*/
void SCI_Transmit_str(char ch[])
{
  unsigned char ptr = 0;
  while(ch[ptr])
  {
   SCI_Transmit_char((unsigned char)ch[ptr++]);
  }
}
void main(void)
{              
EnableInterrupts;
              chaopin();
            SCI_Init();   
    SCI_Transmit_char(0);

}
问题是SCI_Transmit_char(0);返回十六进制C0,SCI_Transmit_char(‘0’);返回C8.
初始化应该没有问题吧
void SCI_Init(void)
{                                 
  
  SCI0CR2_RE = 1;//允许接收              
  SCI0CR2_TE = 1;//允许发送
  SCI0CR2_RIE= 1;//接收数据寄存器满,中断允许
  SCI0BDH=0x01;//64M 9600         
  SCI0BDL=0x45;
}


作者: Mark_    时间: 2015-7-17 15:32
难道不是按ASC码返回么

作者: 黑色枫夜    时间: 2015-7-17 20:23
少年你的中断呢,抽口最好用串口的中断啊
作者: Mark_    时间: 2015-7-17 21:10
黑色枫夜 发表于 2015-7-17 20:23
少年你的中断呢,抽口最好用串口的中断啊

直接发送了没有使用中段





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