fd1=HardwareControler.openSerialPort("/dev/ttyUSB0", 115200, 8, 1);
fd2=HardwareControler.openSerialPort("/dev/ttyUSB1", 9600, 8, 1);
public void run(){
Message msg = new Message();
msg.arg1 = 0;
handler.sendMessage(msg);
handler.post(dc);
}
Handler handler = new Handler()
{
@SuppressWarnings("static-access")
public void handleMessage(Message msg)
{
switch (msg.arg1) {
case 0:
if(tag==0)
{
serial.write(fd1, create);//启动设备
}
else
{
serial.write(fd1, gotobegin);//写入读的信号
}
tag=1;
int len1 = serial.read(fd1, buf1, 150);
strp=new String(buf1,0,len1);
int len2 = serial.read(fd2, buf2, 50);
strq=new String(buf2,0,len2);
readTextView.setText(strf);
default:
break;
}
}
};
其实我就特别想知道 这样直接顺序执行对两个串口的读和写(只有第一个串口需要写)
它能达到我想要的效果吗 (虽然自己的这部分单独测试过是可以的)
但却不能被别人的程序调用。。。求各位帮帮忙啊
我总觉得应该有更加合理的写法的
在这说明一下 我在调用read之前没有调用select 但是却能读出数据
反而调用了select 返回值总!=1 因此没调select
是不是我调用的不对呢?