|
大虾,小弟在研究51单片机与PC机间的串口通信问题。代码已经写好,可是在超级终端上显示的确实乱码...请各位大虾帮小弟查明错处!谢过~~代码如下:
#include
#define uchar unsigned char
#define uint unsigned int
void UartInit()
{
TMOD=0X20; //T18位重载模式
TL1=0XFD; TH1=0XFD; //波特率9600
SCON=0X58; //串口工作于方式1。中断位清零
PCON=0X00; //波特率不加倍
EA=1; //全局开中断
// ET1=1;
TR1=1; //启动T1
IE=0X90; //开串口中断
}
//字符串
void UartSendStr(uchar *pStr)
{
while(*pStr != 0)
{
SBUF = *pStr++;
while(TI==0);
TI=0;
}
}
//向串口发送一个字符
void UartSendChar(uchar ch)
{
TI=0;
SBUF = ch;
while(TI==0);
TI=0;
}
main()
{
uchar ch='a';
UartInit();
UartSendChar(ch);
while(1);
}
|
|