解决方案 »
- Android反编译后问题
- gcc -E 在 android
- android程序自动更新安装详解.doc
- 自定义ScrollView后,使用onDraw里面的canvas进行绘图后导致ScrollView无法滚动。
- Sqliste怎么获得boolean类型的值
- 创建AVD,默认总是存放在"Documents and Settings\<user>\.android\",可否更改
- 接口问题
- VLC播放网络摄像机的rtsp实时流没有画面
- Android有没有什么控件,支持选择一段时间
- 我是刚刚大一刚刚入门的学生,老师布置的作业搞不懂请教各位大神RecycleView中部分控件的显示和隐藏.
- android word转pdf
- 求助 monkey 测试 空指针异常
我也是百度来的
启动前 先adb shell
# cd /dev
#chmod 777 ttyS2
具体什么作用不懂,大概知道是权限。
发送数据后 变送器就没反应了
我也是百度来的
启动前 先adb shell
# cd /dev
#chmod 777 ttyS2
具体什么作用不懂,大概知道是权限。
发送数据后 变送器就没反应了
我是给你举的例子用的ttyS2,你的真实情况也有可能是其他的呢,这个你可以在代码中设定的!android-serial-api
我也是百度来的
启动前 先adb shell
# cd /dev
#chmod 777 ttyS2
具体什么作用不懂,大概知道是权限。
发送数据后 变送器就没反应了
我是给你举的例子用的ttyS2,你的真实情况也有可能是其他的呢,这个你可以在代码中设定的!android-serial-api
在代码中已经设定.
sp=new SerialPort(new File("/dev/ttyS2"),1200); 并指定了波特率1200 。
usb转串口在那个芯片是单工的 用示波器测试就是死在那里在 单工是不是要控制上行或下行,没啥思路了
我也是百度来的
启动前 先adb shell
# cd /dev
#chmod 777 ttyS2
具体什么作用不懂,大概知道是权限。
发送数据后 变送器就没反应了
我是给你举的例子用的ttyS2,你的真实情况也有可能是其他的呢,这个你可以在代码中设定的!android-serial-api
在代码中已经设定.
sp=new SerialPort(new File("/dev/ttyS2"),1200); 并指定了波特率1200 。
usb转串口在那个芯片是单工的 用示波器测试就是死在那里在 单工是不是要控制上行或下行,没啥思路了
android的波特率一般都是这是为115200
我抓包日志分析正常情况和不正常情况,发现设备串口是从另外一个设备读数据再处理,直接发送没返回,请问有什么好办法?
1.修改init.???.rc文件,添加ttyS1~7 666权限
2.安装android-serial-api程序,不给权限就没法安装
3.设定串口,比如ttyS2,不指定就不知道谁接受发送
4.电脑端打开串口工具(网上有很多),两边的波特率要设置一样
5.两边进行收发测试!没有其他的了
你直接发送byte数组,不要发送String试试。
我自己写了一个简单的串口程序,简单易懂,不过是在我自己的板子上面用的~有需要的么
我也是百度来的
启动前 先adb shell
# cd /dev
#chmod 777 ttyS2
具体什么作用不懂,大概知道是权限。
发送数据后 变送器就没反应了
我是给你举的例子用的ttyS2,你的真实情况也有可能是其他的呢,这个你可以在代码中设定的!android-serial-api
在代码中已经设定.
sp=new SerialPort(new File("/dev/ttyS2"),1200); 并指定了波特率1200 。
usb转串口在那个芯片是单工的 用示波器测试就是死在那里在 单工是不是要控制上行或下行,没啥思路了
android的波特率一般都是这是为115200 用到在HART转换器必须要用这个波特率 没办法。
现在发现是android ssrialport 无法控制硬件中在RTX 要是能控制就能让它 上行或下行了。
android 中如何设置RTX 高低电平呀 数据下到板上高低电平过不去呀。
[email protected]
send.c 主要代码int nCount, nTotal, i;
struct termios oldtio, newtio;
char *dev ="/dev/ttyGS2";
if ((fd = open(dev, O_RDWR | O_NOCTTY))<0)
{
printf("err: can't open serial port!\n");
return -1;
}tcgetattr(fd, &oldtio); /* save current serial port settings */
setTermios(&newtio, B115200);
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &newtio);
write(fd, "AT+CGMI\n", 8);
//nCount=write(fd, argv[2], strlen(argv[2]));
printf("send data\n");
sleep(1);
tcsetattr(fd, TCSANOW, &oldtio);
close(fd);
return 0;
接收:fd = open("/dev/ttyGS2", O_RDWR);
if (fd == -1)
return -1;
printf("hello, Serial port is OK\n");// 读取串口当前属性
tcgetattr(fd, &attr);
// 设置最少接收字符个数为0
attr.c_cc[VMIN] = 0;
// 不处理iflag、oflag和lflag
attr.c_iflag = 0;
attr.c_oflag = 0;
attr.c_lflag = 0;
// 设置波特率为9600,字符长度为8位,偶校验,允许接收
attr.c_cflag = B115200 | CS8 | CREAD;
// 设置串口属性
tcsetattr(fd, TCSANOW, &attr);
//write(fd, "AT+CGMI", 8);
// 清除监测集合
FD_ZERO(&fds);
// 将串口句柄加入到监测集合中
FD_SET(fd, &fds);
// 设置超时为5秒
tv.tv_sec = 5;
tv.tv_usec = 0;
// 监测串口是否有数据接收到,超时为5秒
if (select(fd+1, &fds, NULL, NULL, &tv) <= 0)
{
printf("receive null!!\n");
return -1;
}
// 接收最多100个字符
nread=read(fd, buf, 512);
printf("readlength=%d\n", nread);
buf[nread]='\0';
printf("%s\n", buf);// 关闭串口
close(fd);
return 0;
换了串口:ttyGS1也是一样的
是hart转换器无法控制板上的RTS hart是单工的无法控制数据方向。
想知道serialport 怎么控制RTS