嵌入式arm怎样在串口收到数据后启动发送数据
armUART0串口使用监听方式在串口收发数据使用java编程想要使串口收到数据后,将数据做个简单处理再发送出去,可是串口能收到并显示接收的数据,但将数据处理后却写入不到...
arm UART0串口使用监听方式在串口收发数据
使用java编程想要使串口收到数据后,将数据做个简单处理再发送出去,可是串口能收到并显示接收的数据,但将数据处理后却写入不到输出流中,请问怎么解决,困扰了好几天了,请大家帮帮忙啊~~~
我用的是java程序,在pc能正常运行,在arm上却只能收到数据却不能写入数据
而相反的,若arm上先发送数据再监听能收到数据并正常显示,这个是不是跟arm的硬件结构有关了?弄不清楚了。。。。 展开
使用java编程想要使串口收到数据后,将数据做个简单处理再发送出去,可是串口能收到并显示接收的数据,但将数据处理后却写入不到输出流中,请问怎么解决,困扰了好几天了,请大家帮帮忙啊~~~
我用的是java程序,在pc能正常运行,在arm上却只能收到数据却不能写入数据
而相反的,若arm上先发送数据再监听能收到数据并正常显示,这个是不是跟arm的硬件结构有关了?弄不清楚了。。。。 展开
1个回答
展开全部
你的发送代码没写错把?
//*-------------------------------------------------------------------
//* Function Name : Uart_Send
//* Object : 串口发送
//* Input Parameters : port = 0 选择串口0,port = 1选择串口1
//* dat 待发送的数据指针
//* len 待发送的数据长度
//* Output Parameters : none
//*-------------------------------------------------------------------
void Uart_Send( char port, char *dat, uint len )
{
while( len-- )
{
if( port == 0 )
{
U0THR = *dat++; //相当于SBUF
while( (U0LSR&0x20)==0 );
// 等待数据发送
}
else
{
U1THR = *dat++;
while( (U1LSR&0x20)==0 );
// 等待数据发送
}
}
}
//*-------------------------------------------------------------------
//* Function Name : Uart_Send
//* Object : 串口发送
//* Input Parameters : port = 0 选择串口0,port = 1选择串口1
//* dat 待发送的数据指针
//* len 待发送的数据长度
//* Output Parameters : none
//*-------------------------------------------------------------------
void Uart_Send( char port, char *dat, uint len )
{
while( len-- )
{
if( port == 0 )
{
U0THR = *dat++; //相当于SBUF
while( (U0LSR&0x20)==0 );
// 等待数据发送
}
else
{
U1THR = *dat++;
while( (U1LSR&0x20)==0 );
// 等待数据发送
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询