Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理android手机的串口?_Android_Unix_Serial Port_At Command - Fatal编程技术网

如何处理android手机的串口?

如何处理android手机的串口?,android,unix,serial-port,at-command,Android,Unix,Serial Port,At Command,实际上我对串口一无所知。但我看到了一个发送at命令的示例: echo -e "AT" > /dev/smd0 什么是/dev/smd0以及为什么有时会将其替换为/dev/ttyS0 /dev/smd0和/dev/ttyS0是。这些文件提供了一个文件I/O操作接口,用于处理一些底层的东西,如串口、硬盘和内存等硬件资源,或处理过程信息、随机数输入、终端屏幕输出等非硬件资源 设备文件有两种风格,字符和块。串行端口是字符设备,您可以验证c是否为ls-l输出的第一个字符: $ ls -l /dev

实际上我对串口一无所知。但我看到了一个发送at命令的示例:

echo -e "AT" > /dev/smd0

什么是/dev/smd0以及为什么有时会将其替换为/dev/ttyS0

/dev/smd0
/dev/ttyS0
是。这些文件提供了一个文件I/O操作接口,用于处理一些底层的东西,如串口、硬盘和内存等硬件资源,或处理过程信息、随机数输入、终端屏幕输出等非硬件资源

设备文件有两种风格,字符和块。串行端口是字符设备,您可以验证
c
是否为
ls-l
输出的第一个字符:

$ ls -l /dev/ttyS0
crw-rw----. 1 root dialout 4, 64 Apr  7 00:25 /dev/ttyS0
$

/dev/ttyS0
是linux桌面计算机上用于串行端口的设备名称,对应于DOS/Windows中的
COM1
(在使用linux的早期,您可能偶尔会遇到对该名称的引用)。对于移动电话的虚拟USB串行接口,使用
/dev/ttyACM0
/dev/ttyACM1
。其他一些设备使用/dev/ttyUSB0。对于Android,有几种不同的设备文件名在使用,
/dev/smd0
就是其中之一。您的手机可能会使用其他手机,因此您必须检查您应该专门为您的手机使用什么


位于“>/dev/smd0的命令echo-e”没有意义。
-e
选项启用反斜杠转义字符的解释,但由于以下字符串不包含此类字符,因此它仅相当于“>/dev/smd0处的
echo”

但是,当向调制解调器发送AT命令时,命令行应仅以
\r
终止,而不以其他方式终止。这是法律规定的

因此,将命令“AT”发送到调制解调器的正确命令应该是

echo -n -e "AT\r" > /dev/smd0

但是,即使将AT命令正确发送到调制解调器,您也必须从调制解调器读回响应。在执行此操作时(通过运行一系列shell命令)多次关闭和(重新)打开设备文件不是一个好方法,因此我建议您使用我的程序,该程序专门用于命令行通信:

$ echo AT | atinout - /dev/smd0 -
AT
OK
$

这样,您将正确执行所有调制解调器通信

  • 使用c4droid
  • 打开.c文件
  • 将第173行修改为printf(“输出版本…\n”)。。。是版本号吗
  • 现在用c4droid编译代码
  • 从c4droid目录cp data/data/com.n0n3m4.droidc/files/temp/sdcard检索文件

  • 请不要重复您自己的问题,谢谢您的通知。是的,他们很接近,因为我在做一个项目,他们都与这个项目有关。但在这个问题上,我要问的是关于手机系统的信息,在连接的问题上,我要问的是我在项目中遇到的一个问题的解决方案。这是问题中的具体问题。然而,当你看到答案时,你会感觉到不同。我如何在android上实现你的c代码。通过JNI移植C代码是否有用?
    $ echo AT > input.txt
    $ atinout input.txt /dev/smd0 output.txt
    $ cat output.txt
    AT
    OK
    $