本帖最后由 navyly671624 于 2016-12-23 14:12 编辑
void Uart0_Init() //P2.0 RXD P2.1 TXD
{
P2CR = Bin(10000010); // RXD P2.0 TXD P2.1
P2PCR = Bin(10000011);
P2 = Bin(10000011);
CLKCON = 0x20;// 系统时钟
SCON = 0x50; //模式1 ,接收开启
PCON = 0x00;
RXCON = 0x01; // 0.4VDD 为低电平
TR2 = 0 ; //定时器2 使能 关闭
T2CON = 0x30; //
T2MOD = 0x00; //定时器初值寄存器 ////[RCAP2H,RCAP2L]=65536-(FSY/(32*波特率)) ; FSY=3.6864M*/ 9600
RCAP2L = 0xf4; //((65536-FSYSCLK/32/9600)&0x00FF)
RCAP2H = 0xff;//((65536-FSYSCLK/32/9600)>>8)
TL2 = 0xf4;
TH2 = 0xff;
SADDR = 0X00 ;
SADEN = 0X00 ;
TR2 = 1;
//IEN0 = 0x90;
ES = 1; //串口中断
EA = 1;
}
void Uart_Test(unsigned char dat)
{
SBUF=dat;
while(!TI);
TI=0;
}
void main()
{
Uart0_Init();
while(1)
{
RSTSTAT = 0x00; // 看门狗
Uart_Test(0x03);
delay();
}
}
SH79F1616的 串口发送 码 乱的 是哪里没设置对吗?
这是 串口助手接收到的数据 FD FD 03 03 FB FF FB 03 03 FD FD FB 03 03 FB FB
|