#include <pic18f45k20.h>
#define uchar unsigned char
#define uint unsigned int
void serinit()
{
IRCF2=1;
IRCF1=1;
IRCF0=0; //内部晶振8Mhz
BRG16=0; //8位波特率发生器
SPBRG=0x33; //波特率9600 十进制51
TXSTA=0x24; //异步模式、8位发送、使能发送、高速
RCSTA=0x80; //使能串口、禁止接收
TRISC6=1; //RX,TX设置为输入
TRISC7=1;
}
void fdata(uint data)
{
TXREG=data;
while(!TRMT);
}
void delay(uint t)
{
uint i,j;
for(i=t;i>0;i--)
for(j=100;j>0;j--);
}
void main()
{
serinit(); //串口初始化
while(1)
{
// TXREG=0X11;
fdata(0x11);
delay(100);
fdata(0x22);
delay(100);
}
}
while循环里边直接给TXREG赋值也不能用 PC的串口调试助手接收不到数据。。。望高手指点一二 |