关于串口的问题
时间:10-02
整理:3721RD
点击:
#include "STC12C5A60S2.H"
#include "intrins.H"
#define uchar unsigned char
#define uint unsigned int
idata uchar UART_Recv_BUF[8]={0};
uchar Send_Busy = 0;
uchar Receive_Busy= 0;
uchar i=0;
uchar j=0;
sbit Fan = P2^0; //·?éè
void UART_init(void)
{
SM0=0;
SM1=1;
REN=1;
BRT=0xFD;
AUXR=0x15;
ES=1;
IPH=0x10;
IP=0x10;
EA=1;
}
void send_byte(uchar byte)
{
SBUF=byte;
while(!TI);
TI=0;
}
void printf(uchar*p)
{
while(*p!='\0')
{
send_byte(*p);
p++;
}
}
void UART_ISR(void) interrupt 4
{
if(RI)
{
RI=0;
i=SBUF;
Receive_Busy= 0;
if(TI)
{
TI=0;
Send_Busy = 0;
}
}
}
void main()
{
UART_init();
while(1)
{
//printf("0x5A 0xA5 0x05 0x82 0x00 0x00 0x00 0x64");
// send_byte(0x5A);
//send_byte(0xA5); //??í·
//send_byte(0x05); //êy?Y3¤?è
//send_byte(0x82); //???¨êy?Yμ??·D′è?×?·?
//send_byte(0x00);
//send_byte(0x00);//0x0000 ??′??÷μ??·
//send_byte(0x00);
send_byte(0x64);
//printf("hellow");
}
// if(TI)
// {
// TI=0;
// Send_Busy = 0;
// }
// }
}
这是我的串口程序 波特率112500 让他发0x64时 但是用串口调试显示时显示16 91 64 不
知道16 91是怎么来的
#include "intrins.H"
#define uchar unsigned char
#define uint unsigned int
idata uchar UART_Recv_BUF[8]={0};
uchar Send_Busy = 0;
uchar Receive_Busy= 0;
uchar i=0;
uchar j=0;
sbit Fan = P2^0; //·?éè
void UART_init(void)
{
SM0=0;
SM1=1;
REN=1;
BRT=0xFD;
AUXR=0x15;
ES=1;
IPH=0x10;
IP=0x10;
EA=1;
}
void send_byte(uchar byte)
{
SBUF=byte;
while(!TI);
TI=0;
}
void printf(uchar*p)
{
while(*p!='\0')
{
send_byte(*p);
p++;
}
}
void UART_ISR(void) interrupt 4
{
if(RI)
{
RI=0;
i=SBUF;
Receive_Busy= 0;
if(TI)
{
TI=0;
Send_Busy = 0;
}
}
}
void main()
{
UART_init();
while(1)
{
//printf("0x5A 0xA5 0x05 0x82 0x00 0x00 0x00 0x64");
// send_byte(0x5A);
//send_byte(0xA5); //??í·
//send_byte(0x05); //êy?Y3¤?è
//send_byte(0x82); //???¨êy?Yμ??·D′è?×?·?
//send_byte(0x00);
//send_byte(0x00);//0x0000 ??′??÷μ??·
//send_byte(0x00);
send_byte(0x64);
//printf("hellow");
}
// if(TI)
// {
// TI=0;
// Send_Busy = 0;
// }
// }
}
这是我的串口程序 波特率112500 让他发0x64时 但是用串口调试显示时显示16 91 64 不
知道16 91是怎么来的
没看到你程序中的波特率的设置呢?
应该是你的波特率设置和串口的不一致
对应的io口初始化了吗?
现在的年轻人,不敢说什么
BRT 啊 我用独立波特率做的
BRT 啊 我用独立波特率做的
有时正常 有时异常的
我只用了串口啊
无语了,串口也是用io口
程序刚开始不是初始化了嘛
io口的初始化,真的无语
波特率的问题 检查一下波特率是否一致,或者将波特率改低一点试试