目前正在调试LPC2114的串口发送部分,但是无论怎样配置,从串口调试软件接收LPC2114串口发送的数据总是这个几个数据0X78 80 F8 这个三个数据. 串口部分程序如下:
1. 串口初试化:
U0LCR=0x83;// Data 8 ,Stop 1, Even
U0DLL=0x48;// Baud rate fix 9600 @11.0592MHZ
U0DLM=0x0; //
U0LCR=0x03;// Data 8 ,Stop 1, Even
U0IER=0x03;
U0FCR=0x07; // Enable and Clear FIFO;
2. 主函数
int main (void)
{
Port1_Initial();
Port0_Initial();
Uart0_Init();
Time(100);
U0THR=0x11;
while (1)
{
// SendString("Hello magnificent world of the lpc2000
");
// Uart0_Tx_Int();
// if (((U0LSR & 0x41)==0x41) && ((U0LSR | 0x7F)==0x7F))
// Time(100);
if ((U0LSR & 0x00000040)==0)
// if (U0LCR && 0x20) // transmit fifo empty ?
{
Time(100);
Time(100);
Time(100);
Time(100);
Time(100);
Time(100);
U0THR=0x55;
}
/* NEWS_SET();
RTX_SET();
ALARM_SET();
Time(100);
Time(100);
Time(100);
RTX_CLR();
NEWS_CLR();
ALARM_CLR();
Time(100);
Time(100);
Time(100); */
}
}
//****************************************************************//
3. 延时函数
void Time (unsigned char k)
{
unsigned char temp_data,i,j;
temp_data=k;
for(i=0;i<temp_data;i++)
{
for(j=0;j<20;j++)
{
;
/*temp0=0xf1;
temp0=0xf2;
temp0=0xf3;
temp0=0xf4;
temp0=0xf1;
temp0=0xf2;
temp0=0xf3;
temp0=0xf4;
temp0=0xf1;
temp0=0xf2;
temp0=0xf3;
temp0=0xf4;
temp0=0xf1;
temp0=0xf2;
temp0=0xf3;
temp0=0xf4;
temp0=0xf1;
temp0=0xf2;
temp0=0xf3;
temp0=0xf4;
temp0=0xf1;
temp0=0xf2;
temp0=0xf3;
temp0=0xf4;
temp0=0xf1;
temp0=0xf2;
temp0=0xf3;
temp0=0xf4;
temp0=0xf1;
temp0=0xf2;
temp0=0xf3;
temp0=0xf4;
temp0=0xf1;
temp0=0xf2;
temp0=0xf3;
temp0=0xf4;
temp0=0xf1;
temp0=0xf2;
temp0=0xf3; */
}
}
}
上面采用查询方式发送, 发送一次, 串口调试软件总是收到3个数据"0x78 0x80 0xF8" , 百思不得其解, 请各位帮忙!
此帖出自
小平头技术问答
一周热门 更多>