s3c6410无法和单片机进行串口通信
我用的是OK6410的开发板,现想和STC89C52单片机进行串口通信,他们的波特率都设成了9600。首先单片机和PC机串口通信没有问题,然后用6410和PC和串口通信也没问题,但是用6410和单片机直接通信就不行了,不知道错在哪个地方面。
----------------------------
6410程序
----------------------------
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <termios.h>
#include <unistd.h>
#include <time.h>
#include <errno.h>
#include <string.h>
main()
{
int fd,i;
char buf[9];
struct termios tio;
if((fd=open("/dev/ttySAC1",O_RDWR|O_NDELAY|O_NOCTTY))<0)
{
printf("could not open\n");
exit(1);
}
else
{
printf("comm open success\n");
}
tio.c_cflag=B9600|CS8|CREAD|CLOCAL;
tio.c_cflag&=~HUPCL;
tio.c_lflag=0;
tio.c_iflag=IGNPAR;
tio.c_oflag=0;
tio.c_cc[VTIME]=0;
tio.c_cc[VMIN]=0;
tcflush(fd,TCIFLUSH);
tcsetattr(fd,TCSANOW,&tio);
fcntl(fd,F_SETFL,FNDELAY);
int j;
for(j=0; j<5; j++) {
i=write(fd,"a",1);
printf("write %d\n",i);
sleep(10);
}
close (fd);
}
请大家帮忙看下,到底是哪里错了?在和pc机通信中能够成功显示a。
[解决办法]