📄 serialbuffer1.java
字号:
package serial;
public class SerialBuffer
{
private String Content ="";
private String CurrentMsg, TempContent;
private boolean available = false;
private int LengthNeeded = 1;
public synchronized String GetMsg(int Length) //读取串口数据的函数
{
LengthNeeded = Length;
notifyAll();
if (LengthNeeded >= Content.length())
{
available = false;
while (available == false)
{
if(Length-Content.length()==1||Length-Content.length()==2)
{
for(int i=0;i<Length-Content.length();i++)
{
Content = Content+"0";
}
return Content.substring(0,Content.length());
}
try
{
wait();
} catch (InterruptedException e) { }
}
}
CurrentMsg = Content.substring(0, LengthNeeded);
TempContent = Content.substring(LengthNeeded);
Content = TempContent;
LengthNeeded = 1;
notifyAll();
return CurrentMsg;
}
public synchronized void PutChar(int c) //写数据到串口的函数
{
Character d = new Character((char) c);
Content = Content.concat(d.toString());
if (LengthNeeded <= Content.length())
{
available = true;
}
notifyAll();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -