我正在使用linux,我需要在C中编写一个程序,用于通过串口的o / p创建脉冲,可以通过示波器查看。怎么做?另外如何通过C?
配置串口答案 0 :(得分:1)
终于找到了完成任务的方法
#include<time.h>
#include<unistd.h>
#include<stdio.h>
#include<errno.h>
#include<termios.h>
#include<fcntl.h>
#include<sys/ioctl.h>
int main()
{
struct t`enter code here`imespec ts;
ts.tv_nsec =999999999;
ts.tv_sec=0;
int fd,ctr,j1,j2,j3,j4;
fd =open("/dev/ttyS0", O_RDWR | O_NOCTTY);
j1=ioctl(fd, TIOCMGET, &ctr);
if(j1<0)
perror("\nfailed1 not able to get status\n");
else
{
ctr=ctr|TIOCM_DTR;
j2=ioctl(fd,TIOCMSET,&ctr);
if(j2<0)
perror("\nfailed2 not able to set \n");
else
nanosleep(&ts,0);
j3=ioctl(fd,TIOCMGET,&ctr);
if(j3<0)
perror("failed 3 not able to get status2\n");
else
{
ctr&=~TIOCM_DTR;
j4=ioctl(fd,TIOCMSET,&ctr);
if(j4<0)
perror("faliure 4 not able to set 2");
else
nanosleep(&ts,0);
}
}
}