‘壹’ linux涓插彛linux涓嬩覆鍙
濡备綍璁剧疆涓插彛1浣滀负linux璋冭瘯淇℃伅杈揿嚭绔鍙o纻
闇瑕佷慨鏀瑰唴镙搁厤缃鍗曪纴鍦↙inux绉绘嶆暀绋嬩腑镄勯梼褰5涓璐村嚭𨱒ョ殑閰岖疆鍗曚腑锛屽湪Kernelhacking閲岄溃链変釜S3CUart镄勯厤缃锛屾敼涓轰粠0鏀逛负1鎴2锛涘湪SystemType閲岄溃链変釜S3CUART镄勯厤缃锛屼篃浠0鏀逛负1鎴2锛涘悓镞朵慨鏀箄-boot镄勫惎锷ㄥ弬鏁帮纴bootargs涓镄刢onsole=ttySAC锛燂纸锛熶粠0鏀逛负1鎴2锛夈
linux涓嬩覆鍙h皟璇曞伐鍏秽gcom瀹夎咃纻
褰撶劧鏄涓插彛銆
涓插彛纭浠剁数璺绠鍗曪纴锘烘湰涓嶉渶瑕佷换浣曢┍锷ㄤ互鍙婅蒋浠讹纴涓斿彲浠ユ牴鎹闇瑕佹彁渚涚‖浠跺姞杞藉悇涓阒舵电殑璋冭瘯淇℃伅锛埚侠ootloader鎴朙inux鍐呮牳钖锷ㄩ桩娈电殑璋冭瘯淇℃伅锛夈
钥屼互澶缃戞帴鍙i栧厛纭浠惰捐¤缉涓哄嶆潅锛岃蒋浠朵笂涔熼渶瑕侀┍锷ㄥ拰鍗忚镙堟敮鎸侊纴寰寰闇瑕佺瓑寰呯郴缁熷惎锷ㄨ繘鍏ユe父宸ヤ綔鐘舵佸悗镓嶅彲鎻愪緵璋冭瘯淇℃伅銆
浠庣伒娲绘т笂𨱒ヨ诧纴涓よ呭疄闄呬笂宸涓嶅お澶氾纴涓插彛涔熷彧闇瑕佷竴镙筓SB杞涓插彛绾垮氨鍙浣跨敤銆傚彟澶栧洜涓虹数鑴戜笂链夊氢釜usb鍙o纴鍙浠ヨ繛鎺ュ氢釜璁惧囧悓镞惰皟璇曘
鍙﹀栦互澶缃戦渶瑕佽剧疆ip銆佺绣鍏崇瓑鐩稿叧璁剧疆锛屾瘆涓插彛澶嶆潅銆
涓插彛镄勯熷害锷e娍鍦ㄨ皟璇曞満钖堟椂涓嶆槑鏄撅纴涓嶅傝翠互澶缃戠殑阃熷害鐢ㄤ綔璋冭瘯瀹屽叏鏄娴璐广
鎹鎴戞墍鐭ワ纴鍦ㄥ祵鍏ュ纺璁惧囦笂锛屼覆鍙d竴鐩存槸链涓绘祦镄勮皟璇曟帴鍙c
linux镐庝箞鍦ㄩ┍锷ㄤ腑浣跨敤涓插彛锛
Linux鍙戣岀増镊甯usbtoserial椹卞姩锛屼互妯″潡鏂瑰纺缂栬疟椹卞姩锛屽湪鍐呮牳婧愪唬镰佺洰褰曚笅杩愯孧akeMenuConfig阃夋嫨Devcesdrivers-->USBseupport-->
濡备綍鍦╨inux涓嬭皟璇曚覆鍙o纴鍙戦佸崄鍏杩涘埗鏁版嵁锛
褰撶劧鏄涓插彛銆
涓插彛纭浠剁数璺绠鍗曪纴锘烘湰涓嶉渶瑕佷换浣曢┍锷ㄤ互鍙婅蒋浠讹纴涓斿彲浠ユ牴鎹闇瑕佹彁渚涚‖浠跺姞杞藉悇涓阒舵电殑璋冭瘯淇℃伅锛埚侠ootloader鎴朙inux鍐呮牳钖锷ㄩ桩娈电殑璋冭瘯淇℃伅锛夈
钥屼互澶缃戞帴鍙i栧厛纭浠惰捐¤缉涓哄嶆潅锛岃蒋浠朵笂涔熼渶瑕侀┍锷ㄥ拰鍗忚镙堟敮鎸侊纴寰寰闇瑕佺瓑寰呯郴缁熷惎锷ㄨ繘鍏ユe父宸ヤ綔鐘舵佸悗镓嶅彲鎻愪緵璋冭瘯淇℃伅銆
浠庣伒娲绘т笂𨱒ヨ诧纴涓よ呭疄闄呬笂宸涓嶅お澶氾纴涓插彛涔熷彧闇瑕佷竴镙筓SB杞涓插彛绾垮氨鍙浣跨敤銆傚彟澶栧洜涓虹数鑴戜笂链夊氢釜usb鍙o纴鍙浠ヨ繛鎺ュ氢釜璁惧囧悓镞惰皟璇曘
鍙﹀栦互澶缃戦渶瑕佽剧疆ip銆佺绣鍏崇瓑鐩稿叧璁剧疆锛屾瘆涓插彛澶嶆潅銆
涓插彛镄勯熷害锷e娍鍦ㄨ皟璇曞満钖堟椂涓嶆槑鏄撅纴涓嶅傝翠互澶缃戠殑阃熷害鐢ㄤ綔璋冭瘯瀹屽叏鏄娴璐广
鎹鎴戞墍鐭ワ纴鍦ㄥ祵鍏ュ纺璁惧囦笂锛屼覆鍙d竴鐩存槸链涓绘祦镄勮皟璇曟帴鍙c
濡备綍镆ョ湅linux涓嬩覆鍙f槸钖﹀彲鐢?涓插彛钖岖О绛夛纻
1銆佹煡鐪嬩覆鍙f槸钖﹀彲鐢锛屽彲浠ュ逛覆鍙e彂阃佹暟鎹姣斿傚筩om1鍙o纴echolyjie126>/dev/ttyS0
2銆佹煡鐪嬩覆鍙e悕绉颁娇鐢╨s-l/dev/ttyS*涓鑸𨱍呭喌涓嬩覆鍙g殑钖岖О鍏ㄩ儴鍦╠ev涓嬮溃锛屽傛灉浣犳病链夊栨彃涓插彛鍗$殑璇濋粯璁ゆ槸dev涓嬬殑ttyS*,涓鑸瑃tyS0瀵瑰簲com1锛宼tyS1瀵瑰簲com2锛屽綋铹朵篃涓崭竴瀹氭槸蹇呯劧镄勶绂
3銆佹煡鐪嬩覆鍙i┍锷锛歝at/proc/tty/drivers/serial
4銆佹煡鐪嬩覆鍙h惧囷细dmesg|grepttyS*
‘贰’ java实现串口通信代码
public static void process() {
try {
Enumeration portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements())
{
CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)//如果端口类型是串口则判断名称
{
if(portId.getName().equals("COM1")){//如果是COM1端口则退出循环
break;
}else{
portId=null;
}
}
}
SerialPort serialPort = (SerialPort)portId.open("Serial_Communication", 1000);//打开串口的超时时间为1000ms
serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);//设置串口速率为9600,数据位8位,停止位1们,奇偶校验无
InputStream in = serialPort.getInputStream();//得到输入流
OutputStream out = serialPort.getOutputStream();//得到输出流
//进行输入输出操作
//操作结束后
in.close();
out.close();
serialPort.close();//关闭串口
} catch (PortInUseException e) {
e.printStackTrace();
} catch ( e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
‘叁’ Java如何通过串口远程Linux并执行命令获取返回结果
长长的执行命令返回结果比较经典。
‘肆’ 求教linux下java串口收发数据出错问题
不要昌猜使用inputStream.available(),如果我蔽迅配没有记错的话,available返回的是没有被阻断的字节数(已经被缓宏指冲的内容),可以尝试read(byte b[])方法,然后通过返回值是否-1来判断,如下。 int bytesRead = inputStream.read(readBuffer);
‘伍’ 在Linux下怎么用Java进行串口编程
使用串口协议登录Linux终端控制台,通过Zmodem文件传输协议接收一个外部文件。 命令:rz -y 会弹出文件浏览窗口,选择要上传的文件即可。 -y 表示若文件已存在,则覆盖。