首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

s3c6410无法和单片机进行串口通信,该如何解决

2012-03-11 
s3c6410无法和单片机进行串口通信我用的是OK6410的开发板,现想和STC89C52单片机进行串口通信,他们的波特率

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。

[解决办法]

探讨
我用的是OK6410的开发板,现想和STC89C52单片机进行串口通信,他们的波特率都设成了9600。首先单片机和PC机串口通信没有问题,然后用6410和PC和串口通信也没问题,但是用6410和单片机直接通信就不行了,不知道错在哪个地方面。
----------------------------
6410程序
----------------------------
#include <……

热点排行