通过C程序进行Android串口通讯

时间:2015-11-21 15:46:27

标签: android c communication

我在网络指南中搜索了Android设备和C程序通过USB端口的串行通信,但我没有发现什么特别之处。有人知道我该如何实现这种沟通?

我并没有真正搜索Android项目串行通信的指南,而是通过串行数据发送或接收,允许我从终端读取或发送。

编辑我试图搜索更多,但我找不到任何特别的内容。

我注意到当我通过usb连接三星Galaxy SII plus时,我找到了

  

的/ dev / ttyACM0

     

的/ dev / ttyACM1

这可能与我的手机有关(读写流?),因为当SII没有连接时它们就不存在了。我通过Play Story下载了一个串行监视器应用程序,并创建了这个简单的程序,将一些基本文本发送到我的手机:

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>

int open_port(void);

int main(void) {

    fprintf(stderr, "Starting reading serial port... ");

    int port = open_port();

    fprintf(stderr, "%d... [DONE]\n", port);

    return 0;
}

int open_port(void) {
    int fd, n; /* File descriptor for the port */

    fd = open("/dev/ttyACM0", O_RDWR | O_NOCTTY | O_NDELAY);
    if (fd == -1) {
        perror("open_port: Unable to open /dev/ttyS0 - ");
    } else {
        fcntl(fd, F_SETFL, 0);
    }

    n = write(fd, "ATZ", 3);

    if (n < 0) {
        fputs("write() of 4 bytes failed!\n", stderr);
    }

    return (fd);
}

写数据时没有什么失败,但我的手机什么也没有收到!

0 个答案:

没有答案