当前位置: 技术问答>linux和unix
linux下串口编程(读写)
来源: 互联网 发布时间:2016-03-01
本文导语: 以下是我在linux终端下写的C代码,目的是想让其能接受到串口的数据,可是不知道为什么总是不能接受到,也没有报错信息,请大侠们看看,帮帮忙指点以下,谢谢! #include #include #include #include #include #define...
以下是我在linux终端下写的C代码,目的是想让其能接受到串口的数据,可是不知道为什么总是不能接受到,也没有报错信息,请大侠们看看,帮帮忙指点以下,谢谢!
#include
#include
#include
#include
#include
#define BAUDRATE B38400
#define MODEMDEVICE "/dev/ttyS0"
//#define _POSIX_SOURCE 1 /* POSIX compliant source */
#define FALSE 0
#define TRUE 1
volatile int STOP=FALSE;
main()
{
int fd,c, res;
struct termios oldtio,newtio;
char buf[255];
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );
if (fd 0)
39 {
40 printf("nLen %dn",nread);
41 buff[nread - 1] = '';
42 printf( "%sn", buff);
43 }
44 }
45 close(fd);
46 exit (0);
47 }
#include
#include
#include
#include
#include
#define BAUDRATE B38400
#define MODEMDEVICE "/dev/ttyS0"
//#define _POSIX_SOURCE 1 /* POSIX compliant source */
#define FALSE 0
#define TRUE 1
volatile int STOP=FALSE;
main()
{
int fd,c, res;
struct termios oldtio,newtio;
char buf[255];
fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );
if (fd 0)
39 {
40 printf("nLen %dn",nread);
41 buff[nread - 1] = '';
42 printf( "%sn", buff);
43 }
44 }
45 close(fd);
46 exit (0);
47 }
|
串口发送和接收的时候许多设置应该一样,你看发送的串口和接收串口的设置是否相同,还有你可以把你的程序加上数据发送,然后将串口的2和3信号线短接,就可以用一个串口进行收发。
|
你是不是在虚拟机下调试的??
|
第三方类有问题