这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » uclinux的com1问题

共1条 1/1 1 跳转至

uclinux的com1问题

菜鸟
2007-01-12 18:00:25     打赏

大家好,最近小弟在用实验室买的豪华板做一些小的实验,平台是arm(三星的s3c44b0x)+uclinux,是关于串口通信的,我想在com1上挂接一个gprs设备,com0接pc,其实写的测试程序很简单,用com1发送和接收数据,现在碰到一个问题是com1可以发送数据,但是无法接受数据,我觉得很奇怪,因为我的程序没那么复杂,各位牛人都知道串口通信主要是一些设置,然后write、read(不知道我说的对不对),我把程序贴上来,这个程序里有写也有读,也就是我把com1的那根串口线的rxd和txd短接了,按理来说发什么就应该收到什么。请各位帮我看看,我是真心请教,谢谢大家,程序写的很烂,大家别笑话俺了。

#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <termios.h>
#include <sys/uio.h>
#include "math.h"
int main(){

int fd;
char *rbuf,hd[16]={0x0},sbuf[1]={'H'};
int retv,count=0;
unsigned int num=0;

struct termios oldtio;

fd=open("/dev/ttyS1",O_RDWR|O_NOCTTY|O_NDELAY);

if(fd<0){
perror("open /dev/ttyS1");
return -1;
}

tcgetattr(fd,&oldtio);
cfmakeraw(&oldtio);
cfsetispeed(&oldtio,B9600);
cfsetospeed(&oldtio,B9600);

oldtio.c_cflag |= (CLOCAL | CREAD);
oldtio.c_cflag &= ~PARENB;
oldtio.c_cflag &= ~CSTOPB;
oldtio.c_cflag &= ~CSIZE;
oldtio.c_cflag |= CS8;
option.c_oflag &= ~OPOST;/*原始数据的输出通过设置c_oflag的OPOST标志*/


oldtio.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
oldtio.c_iflag &= ~(IXON | IXOFF | IXANY);

oldtio.c_cc[VTIME] = 1;
oldtio.c_cc[VMIN] = 0;
tcsetattr(fd,TCSANOW,&oldtio);

rbuf=hd;

while(count<500){

sbuf[0]=num;
retv=write(fd,sbuf,1);
sleep(1);
retv=read(fd,rbuf,1);
printf("%xH\n",*rbuf);
num++;
count++;
}

close(fd);
return 0;
}




关键词: uclinux     问题     #include    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]