yuhw 发表于 2006-6-15 14:18:51

串口的问题,请大侠指点

在linux2。6下写了一个串口发送的程序,第一运行发送没有问题,数据可以发送,提示如下:
open /dev/ttys1: Success
__s3c4510b_stop_rx():00229 called with port = 0x0016d46c.
不知为什么出现第二行的提示,当再一次运行这个程序时,就出现如下问题,不能发送
Unabled to hook interrupt for serial 1 TX
open /dev/ttys1: Success
write: Input/output error
不知原因出在哪里,

yuhw 发表于 2006-6-15 18:34:32

uart1 的设备节点号是 c 4 65 吧?谁用过4510板子的串口1,请帮忙

lumit-support-1 发表于 2006-6-17 23:42:35

你的程序是正常结束了吗??
今天试了一下,不正常阶数的时候就打不开串口了

yuhw 发表于 2006-6-19 10:49:49

把程序贴上

int retv;
char fname,hd,*sbuf;
struct termios oldtio,newtio;
fd=open("/dev/ttyS1",O_RDWR|O_NOCTTY);
perror("open /dev/ttys1");
if(fd<0)
        {
        perror("open failed");
        return -1;
        }
tcgetattr(fd,&oldtio);
cfmakeraw(&oldtio);
cfsetispeed(&oldtio,B19200);
cfsetospeed(&oldtio,B19200);
tcsetattr(fd,TCSANOW,&oldtio);

fname='1';
fname='2';
fname='3';
fname='\0';
sbuf=(char *)malloc(4);
strncpy(sbuf,fname,4);
retv=write(fd,sbuf,4);
retv=write(fd,sbuf,4);
if(retv==-1) perror("write");
close(fd);
return 0;

lumit-support-1 发表于 2006-6-20 21:30:26

retv=write(fd,sbuf,4);
应该是三个字节吧
一般用strlen(sbuf)吧
页: [1]
查看完整版本: 串口的问题,请大侠指点