打印

c8051f340串口通信问题

[复制链接]
549|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
野兽男孩Andy|  楼主 | 2017-3-30 16:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下边这个程序发送和接收老是不对,请问哪里有问题呢???
#include <c8051f340.h>
#define uchar unsigned char
#define uint unsigned int
/*****************************************************************
*端口初始化函数
*****************************************************************/
void PORT_Init (void)
{
XBR0      = 0x01;//端口I/O交叉开关寄存器0,UART TX0, RX0 连到端口引脚 P0.4 和 P0.5                                          
XBR1      = 0x40;//端口I/O交叉开关寄存器1,交叉开关使能                  
P0MDOUT   = 0x10;//P0.4为推挽输出,其他的为漏极开路输出
}
/****************************************************************
*UART0初始化函数
*****************************************************************/
void UART0_Init (void)
{
SCON0    |= 0x10;                                                            
CKCON     = 0x01;
TH1       = 0x64;   //波特率为9600
TL1       = TH1;                        
TMOD      = 0x20;                     
TR1       = 1;//P235,定时器1运行控制,定时器1允许                           
TI0       = 1;//P235,中断1类型选择,INT1为边沿触发                           
}
/*****************************************************************
*主函数
*****************************************************************/
void main()
{
char g;
PCA0MD    &= ~0x40;//关闭看门狗                  
OSCICN    |= 0x03;//P126                     
PORT_Init();//端口初始化                     
UART0_Init();//UART0初始化
while(1)
{
  while(RI0==0);   //接收
  g=SBUF0;
  RI0=0;
         
  if(g!='\0')  
  { SBUF0=g;
      
   while(TI0==0);  //发送
   TI0=0;
   g='\0';
  }
}
}

相关帖子

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

本版积分规则

1

主题

1

帖子

0

粉丝