[其它应用] 串口输出只有00

[复制链接]
3036|11
 楼主| wenfen 发表于 2021-11-20 21:40 | 显示全部楼层 |阅读模式
SH79F6488 串口输出只有00
pengf 发表于 2021-11-20 21:42 | 显示全部楼层
程序呢
heweibig 发表于 2021-11-20 21:46 | 显示全部楼层

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;

}
dingy 发表于 2021-11-20 21:49 | 显示全部楼层
时钟配置错误
zhuhuis 发表于 2021-11-20 21:52 | 显示全部楼层
嗯,应切换到12MHz的档位
wyjie 发表于 2021-11-20 21:54 | 显示全部楼层
是信号发送不成功吧?!
 楼主| wenfen 发表于 2021-11-20 21:56 | 显示全部楼层
嗯,那我按大家的说法挨个排查一下,谢谢哈
ynndmalh21 发表于 2021-12-2 14:58 | 显示全部楼层
感觉上是波特率不对吧。
kjkujkj21 发表于 2021-12-2 15:02 | 显示全部楼层
时钟上配置是有问题的。没有办法了。
caigang13 发表于 2021-12-3 08:38 来自手机 | 显示全部楼层
检查一下时钟和波特率配置。
mutable 发表于 2021-12-3 13:42 | 显示全部楼层
配置的问题吧
weifeng90 发表于 2021-12-5 14:54 来自手机 | 显示全部楼层
是不是波特率不对?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

737

主题

8940

帖子

8

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