[求助] 智能家居LED控制

喧嚣尘世~   2015-8-21 15:43 楼主
各位大神,我想问一下,LED的操作是串口的读和写,比如这个例子,这是发送一个点亮彩色LED的指令,类似于这种十六进制的命令还有上百条,我该怎么处理这个命令呢?
    struct termios Opt;//串口配置结构体
    int fd = open("/dev/ttyAMA0", O_RDWR | O_NOCTTY | O_NDELAY);//打开串口

        if (-1 == fd)//不能打开串口

    {

        printf("cannot open ttyAMA0\n");

        return -1;

    }

    tcgetattr(fd, &Opt);//获取当前设置

        //设置输入输出波特率

    cfsetispeed(&Opt, B115200);

    cfsetospeed(&Opt, B115200);

    tcsetattr(fd, TCSANOW, &Opt);// TCSANOW立即生效

    char tmp[256] = {0x2A, 0x2B, 0x41, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

                0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x0B, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

                0x25, 0x00, 0x00, 0x00, 0xD1, 0x2B, 0x00, 0x00, 0x08, 0x01, 0x01, 0xFF, 0x00, 0xFF, 0x00, 0xFF,

                0x00, 0xB4, 0x23};//指令

    int itmp = strlen(tmp);//指令长度

    int ret = write(fd, tmp, sizeof(tmp));//将指令写入串口  ret实际写入字节数

    printf("ret: %d\nitmp: %d\ntmp: %s\n", ret, itmp,tmp);

    res = read(fd,buf,len); //res读取的字节数

    close(fd);//关闭串口


回复评论 (2)

点赞  2015-8-21 15:48
不知道你在说什么!
用的什么软件协议栈?什么硬件芯片?什么应用环境?
贴这么一点代码,没时间猜你的想法!
点赞  2015-8-23 21:28
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复