- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试从 Raspberry pi 与串行设备进行通信,但没有成功。
我连接、写入数据但从未读回数据。
串行设备在 Windows 中工作正常,在 com 端口上进行以下设置 - 波特率:9600,奇偶校验:无,位:8,停止位:1。
对于通信,我使用 USB 转串行 FTDI 适配器。
我的工作c代码是:
int set_interface_attribs(int serialPort)
{
struct termios tty;
if (tcgetattr(serialPort, &tty) < 0) {
printf("Error from tcgetattr: %s\n", strerror(errno));
return -1;
}
printf("Old Serial port flags, i:%d, o:%d, c:%d\n", (int)tty.c_iflag, (int)tty.c_oflag, (int)tty.c_cflag);
int speed = B9600;
cfsetospeed(&tty, (speed_t)speed);
cfsetispeed(&tty, (speed_t)speed);
tty.c_cflag = CS8 | CLOCAL | CREAD;
tty.c_iflag = IGNPAR;
tty.c_oflag = 0;
tty.c_lflag = 0;
tcflush(serialPort, TCIFLUSH);
if (tcsetattr(serialPort, TCSANOW, &tty) != 0) {
printf("Error from tcsetattr: %s\n", strerror(errno));
return -1;
}
printf("New Serial port flags, i:%d, o:%d, c:%d\n", (int)tty.c_iflag, (int)tty.c_oflag, (int)tty.c_cflag);
return 0;
}
int main( int argc, char *argv[] ) {
printf("Start program\n");
int serialPort=0;
//if ((serialPort=open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NONBLOCK))<0) {
if ((serialPort=open("/dev/ttyUSB0", O_RDWR | O_NOCTTY))<0) {
printf("Error opening port: %s\n", strerror(errno));
return 1;
}
set_interface_attribs(serialPort);
long n;
char strSend[20];
sprintf(strSend,"98000001%c%c", 0x0D,0x0A);
if ((n = write(serialPort, strSend, strlen(strSend)) ) < 0 ){
perror("Error write to serialPort");
return 0;
}
printf("Write (%d) chars (%s) to serialPort\n", (int)n, strSend);
sleep(1);
printf("Start reading from serialPort\n");
char wData[20];
memset(wData, '\0', sizeof(wData));
if ( (n = read(serialPort, wData, 20) ) <= 0 ){
printf("Error %d read from serialPort\n", (int)n);
} else{
wData[n] = 0;
printf("Read:%d, %s\n", (int)n, wData);
}
printf("Close serialPort\n");
close(serialPort);
return 0;
}
输出是:
Start program
Old Serial port flags, i:4, o:0, c:2224
New Serial port flags, i:4, o:0, c:2224
Write (10) chars (98000001
) to serialPort
Start reading from serialPort
Error 0 read from serialPort
Close serialPort
任何想法或建议;
最佳答案
读取应该与写入同时进行。
你应该做一个无限循环。该 bucle 应该始终读取端口。建议将缓冲区制作成线程(可以使用lpthread.h)。
生命周期:
另一方面,最好的选择(如果您想测试您的代码)是在 RX 和 TX 引脚上制作跳线。
因此,您所写的所有内容都将能够阅读。
关于c - 树莓派,与串口设备通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40915157/
(“ donut 派”)是否有最大切片数?我使用了 highchart(“ donut 派”)示例,但无法超过 10 个切片。请注意,内部切片“F”丢失了。下面是示例代码。 http://jsfidd
有谁知道如何找到 Samsung Galaxy 手机等同于 Settings.ACTION_ZEN_MODE_PRIORITY_SETTINGS 的常量?我有一个应用程序在三星用户单击应该将他们带到“
所以我很难弄清楚如何设置饼图/图例位置的布局。我希望图例左对齐,饼图右对齐。 40/60 百分比 -ish。 像这样: chart = new Highcharts.Chart({ c
我试图创建一种带有 4 个切片的圆形旋转木马,通过单击一个切片,它会扩展到约 2/3 的饼图,显示它的内容(另一个切片同样会收缩)基本上我是从 raphael “growing pie” 演示开始的
我尝试了所有可能的方式来提供 PIE.js 的路径,我使用的是 asp.net,这与在 java+tomcat 中的工作方式相同。我试过这样给 1)文件:css/home.css,css/pie/PI
cmds = ['time'] while True: inp = input('::> ') sinp = inp.split() if str(sinp[0]) in cm
我已经在 Raphael Google Groups 上看到过这个问题,但经过数小时的搜索后,在这里以及 Google 上,我似乎找不到解决方案。 我只是希望能够使用 jQuery 定位我的饼图(sv
这个问题在这里已经有了答案: Permission Denial: startForeground requires android.permission.FOREGROUND_SERVICE (5
我是一名优秀的程序员,十分优秀!