为什么串口读出来的是乱码?
(2012-06-05 00:36:09)
标签:
杂谈
为什么串口读出来的是乱码?
#include
#include
#include
#include
#include
#include
#include
int main()
{
int ret;
int fd = open("/dev/ttyS0",
O_RDWR | O_NOCTTY);
if (-1 == fd)
{
perror("open serial port ttyS0
failed");
return -1;
}
struct termios options;
ret = tcgetattr(fd, &options);
if (0 != ret)
{
perror("tcgetattr failed");
close(fd);
return -1;
}
tcflush(fd, TCIOFLUSH);
cfsetispeed(&options, B115200);
cfsetospeed(&options, B115200);
options.c_cflag &= ~PARENB;
options.c_cflag &= ~CSTOPB;
options.c_cflag &= ~CSIZE;
options.c_cflag |= CS8;
options.c_lflag &= ~(ICANON | ECHO | ECHOE |
ISIG);
options.c_oflag &= ~OPOST;
ret = tcsetattr(fd, TCSANOW, &options);
if (0 http://www.hysterectomymumbai.com!= ret)
{
perror("tcsetattr failed");
close(fd);
return -1;
}
tcflush(fd, TCIOFLUSH);
sleep(3);
char buf[] = "server";
ret = write(fd, buf, sizeof(buf));
if (ret != sizeof(buf))
{
perror(strerror(errno));
}
sleep(3);
close(fd);
return 0;
}
<
求教一道简单ACM练习题的超时问题br />#include
#include
#include
#include
#include
#include
#include
int main()
{
int ret;
int fd =
open("/dev/ttyS0"http://www.wuyugushi.com,
O_RDWR | O_NOCTTY);
if (-1 == fd)
{
perror("open serial port ttyS0
failed");
return -1;
}
struct termios options;
ret = tcgetattr(fd, &options);
if (0 != ret)
{
perror("tcgetattr failed");
close(fd);
return -1;
}
tcflush(fd, TCIOFLUSH);
cfsetispeed(&options, B115200);
cfsetospeed(&options, B115200);
options.c_cflag &= ~PARENB;
options.c_cflag &= ~CSTOPB;
options.c_cflag &= ~CSIZE;
options.c_cflag |= CS8;
options.c_lflag &= ~(ICANON | ECHO | ECHOE |
ISIG);
options.c_oflag &= ~OPOST;
ret = tcsetattr(fd, TCSANOW, &options);
if (0 != ret)
{
perror("tcsetattr failed");
close(fd);
return -1;
}
tcflush(fd, TCIOFLUSH);
sleep(3);
char buf = "";
ret = read(fd, buf, 6);
if (ret < 0)
{
perror(strerror(errno));
}
sleep(3);
close(fd);
printf("Len = %d, buf = %s\n",
ret, buf);
return 0;
}
为什么我读出来的都是乱码呢?我用gdb跟,收的那方buf里面的数据也不对。
我用
server: cat /dev/ttyS0
client: echo test > /dev/ttyS0
显示出来的也是乱码
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。