微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 串口通信问题

串口通信问题

时间:10-02 整理:3721RD 点击:
问题描述:在用串口调试工具调试时 发送一个数据6,单片机收到并发送,串口调试助手收到的是 -189,请问大家知道其中哪出问题了吗?代码如下

#include <reg52.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
uchar flag,a;
void delay(uint x)
{
        uint i,j;
        for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
}
void init(void)//初始化
{
        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        REN=1;
        SM0=0;
        SM1=1;
        EA=1;
        ES=1;
}
void comm(char *parr)//发送数据
{
        do
        {
                SBUF=*parr++;
                while(!TI);
                TI=0;
        }while(*parr);
}

void main(void)
{
        uchar buff[4];
        init();
        while(1)
        {
                if(flag==1)
                {
                        ES=0;
                        sprintf(buff,"%d",a);
                        delay(1);
                        comm(buff);
                        ES=1;
                        flag=0;
                       
                }               
               
        }
}
void sp(void) interrupt 4
{
        RI=0;
        a=SBUF;
        flag=1;
}


波特率对吗?发送接收都使用hex方式

谢谢您了 问题已经找到了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top