⑴ android如何讀取串口數據
代碼如下:
import com.friendlyarm.AndroidSDK.HardwareControler;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
public class MapGuider_Activity extends Activity{
private int serial_fd=0;
private byte[] serial_RevBuf=new byte[100];
private byte[] serial_SendBuf="fsjajd".getBytes();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.mapguider);
serial_fd=HardwareControler.openSerialPort("/dev/s3c2410_serial1", 115200, 8, 1);
if(serial_fd!=-1)
{
System.out.println("打開串口成功");
HardwareControler.write(serial_fd, serial_SendBuf);
lac_handler.post(RevicePosDataThread);
}
else
{
System.out.println("指定的串口不存在或在其它進程中已被打開");
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
HardwareControler.close(serial_fd);
System.out.println("關閉串口");
lac_handler.removeCallbacks(RevicePosDataThread);
super.onDestroy();
}
Handler lac_handler =new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
}
};
Runnable RevicePosDataThread =new Runnable()
{
int err=0;
String s;
public void run() {
// TODO Auto-generated method stub
while(true)
{
//Looper.prepare();
err=HardwareControler.select(serial_fd, 1, 0);
if(err==1)//有數據可讀
{
HardwareControler.read(serial_fd, serial_RevBuf, 10);
s=new String(serial_RevBuf);
System.out.println("接收到串口數據"+s);
}
else if(err==0) //無數據可讀
{
System.out.println("沒有接收到串口數據");
}
else //出錯
{
System.out.println("接收到串口數據出錯");
}
try {
Thread.sleep(2);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
};
}
⑵ 怎樣用delphi寫一個程序來讀取從串口讀取來的數據,並顯示出來。
假設你的下位機是通過一個命令(A)讀取出這兩個值,一個溫度值和一個濕度值,那麼你可以先配置好串口組件的相關參數,然後打開串口,再用write命令發出去,然後你的單片機收到這個命令後,就立即返回當前的兩個值,上位機收到後再進行解析就可以了,如果你的下位機返回的是電壓值的話,上位機還需要根據你的電路計算出對應的溫度和濕度值。
⑶ cmd怎麼連接串口
需要用cmd命令打開串口com3,並向com3發送或者直接連接網口。
cmd連接串口需要編輯一個testfile文件,二進制方式,A00101A2然後肆燃運行cmd,輸入以下命令行modecom3或者將串口伺服器上的網好輪口與計算機上的網線口直接相連。
CMD命令是裂襪虛一種命令提示符,CMD是command的縮寫,即命令提示符(CMD),是在OS/2,Win為基礎的操作系統下的MS-DOS方式。
⑷ linux 查看某個串口參數(波特率,數據位等)命令什麼
用CAT命令查看
#cat /proc/tty/driver/serial
如果需要配置串口參數,minicom是個很好的選擇。
一、安裝
sudo apt-get install minicom
二、配置
配置minicom的參數
運行$ sudo minicom -s
便進入了minicom的配置界面,使用上下鍵選擇Serial port setup,回車。此時游標在「change which setting」後面停留,它的上面有如下菜單:
只需輸入上面對應的字母,就可以進如相應的菜單進行設置。設置完成,回車,游標會回到「change which setting」後面,如此重復。完成按回車返回主菜單即可。
⑸ 請問程序中linux如何獲取可用的串口列表
dmesg | grep tty
下面是一個例子,例子中採用的是USB轉串口線(pl2303)。
插入線:
$ dmesg|grep tty
[ 0.000000] console [tty0] enabled
[ 1.248404] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 1.624590] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 12.618301] usb 5-2: pl2303 converter now attached to ttyUSB0
拔出線:
$ dmesg|grep tty
[ 0.000000] console [tty0] enabled
[ 1.248404] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 1.624590] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 12.618301] usb 5-2: pl2303 converter now attached to ttyUSB0
[ 375.392303] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
這樣程序中應該不難判斷了吧。
【參考】http://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/
⑹ cmd命令行怎麼獲取串口的描述
超級終端,通常是用來連接設備的串口。用於執行與串口互聯的設備上的命令。
cmd命令提示符,本身是用來運行本機的命令操作的。執行的命令都在本地的。