打印
[其它应用]

SH79F6488 串口输出只有00

[复制链接]
536|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanwe|  楼主 | 2017-9-9 16:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SH79F6488 串口输出只有00
沙发
yufe| | 2017-9-9 16:13 | 只看该作者

程序呢

使用特权

评论回复
板凳
hanwe|  楼主 | 2017-9-9 16:15 | 只看该作者

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;

}

使用特权

评论回复
地板
llia| | 2017-9-9 16:16 | 只看该作者
时钟配置错误

使用特权

评论回复
5
wangpe| | 2017-9-9 16:19 | 只看该作者

嗯,应切换到12MHz的档位

使用特权

评论回复
6
wangpe| | 2017-9-9 16:22 | 只看该作者

是信号发送不成功吧?!

使用特权

评论回复
7
hanwe|  楼主 | 2017-9-9 16:23 | 只看该作者
嗯,那我按大家的说法挨个排查一下,先结贴啦,谢谢哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

979

主题

8749

帖子

4

粉丝