[家电应用] SH79F6488 串口输出只有00 高手斧正下代码

[复制链接]
1566|1
 楼主| 793162484 发表于 2014-8-29 16:30 | 显示全部楼层 |阅读模式
unsigned char Delay,flag=0,a,i;
unsigned char code table[]="I GET"        ;



void SYSInitial(void);
void EUARTInit(void);          //串口通信




void main(void)
{
       
  SYSInitial();

  EUARTInit();
  EA = 1;                 //总中断
  ES=1;         //串口中断

ADCDS=0X00;                //P2.0G输出高
P2CR=0XFF;
P2=0XFF;

//SBUF=0X11;
  while(1)
{
          RI=0;
        a=SBUF;
        flag=1;
        if(flag==1)
  {
    ES=0;               
   P2=0XFF;
    for(i=0;i<6;i++)
    {
//  SBUF=table[i];
          SBUF=0x47;
   while(!TI);
      TI=0;
    }
                P2=0X00;
     SBUF=a;
     while(!TI);
     TI=0;
     ES=1;
     flag=0;
     }

         }
       
  }




void SYSInitial(void)           //系统时钟位12M
{
CLKCON=0x00;
Delay=0xff;
while(--Delay);
  _nop_( ) ;

}


void EUARTInit(void)
{
   REN=1;        //允许串口接收

  SM0_FE=0;                 //选择方式1
  SM1_RXOV=1;         //选择方式1
  SM2_TXCOL=0;

  
  SBRTH=0X7f;          //波特率高位寄存器         9600
  SBRTL=0Xb2;          //波特率低位寄存器

  SFINE=0x02;           //微调波特率
  SBRTH|=0X80;          //开启波特率

  
}


void uart() interrupt 4                         //串口中断函数         
{
        RI=0;
        a=SBUF;
        flag=1;

}
 楼主| 793162484 发表于 2014-9-1 22:22 | 显示全部楼层
时钟配置错误。应切换到12MHz的档位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

32

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0