小弟刚用MA84G564想做一个串口发送程序
//14400波特率 模式1
void Init_UART0(void)
{
ES0 = 0; PCON0 &= 0x5F; //SMOD1 = 0
S0CON = 0X50;
TMOD |= 0x20; //8位自动重装
TCON = 0x40;
AUXR2 |= 0x08; //T1X12 = 1 SYSCLK作为时钟源,不选sysclk/12
S0CFG = 0x80; //禁止UART使用额外双倍波特率 SMOD2 = 0 URTS = 1
TH1 = 204;
TL1 = 204;
// S0CON &= 0x7F;
// S0CON |= 0x40;
IP |= 0x10;
ES0 = 1;
TR1 = 1;
}
void main(void)
{
EA=0;
Init_UART0();
EA=1;
while(1)
{
while(TI0 == 1);
SBUF=0xCF;
delay_ms(500);//延时500MS
}
}
void Isr_USART0(void) interrupt 4
{
if ( TI0)
{
TI0= 0;
}
}
程序大意就是每500M向主机发送0xCF 这一个字节的数据,请大虾帮忙看下哪里有错?因为电脑收不到,看TXD0和 RXD0两个脚也一直是高电平
|