<div dir="auto">Which bsp? Does the console driver have a set_attributes handler? Does it return false?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 26, 2019, 7:08 AM 787562067 <<a href="mailto:googcheng@qq.com">googcheng@qq.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>HI, ALL!</div><div><br></div><div><b><font color="#ff6600">when i run fileio test case, i got nothing;</font></b></div><div><br></div><div>when i run example from here <a href="http://zhgyuan.cn/downloads/uploads-file/201707/myapp.tar.gz" target="_blank" rel="noreferrer">http://zhgyuan.cn/downloads/uploads-file/201707/myapp.tar.gz</a> </div><div><br></div><div><div><span style="font-size:14px">[19:51:16.847]收←◆hello,this is my print task test!</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size:14px">[/] # </span></div><div><span style="font-size:14px">[19:51:17.177]收←◆hello,this is my print task test!</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size:14px">[/] # </span></div><div><span style="font-size:14px">[19:51:18.020]收←◆hello,this is my print task test!</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size:14px">[/] # </span></div><div><span style="font-size:14px">[19:51:19.306]收←◆hello,this is my print task test!</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size:14px">[/] # </span></div><div><span style="font-size:14px">[19:51:20.589]收←◆hello,this is my print task test!</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">RTEMS Shell on /dev/console. Use 'help' to list commands.</span></div><div><span style="font-size:14px">[/] # </span></div><div><span style="font-size:14px">[19:56:17.932]TX→◇help</span></div><div><span style="font-size:14px">□</span></div><div><span style="font-size:14px">[19:56:17.941]RX←◆h</span></div><div><br></div><div><br></div><div>i dont know why. the uart read also does not work for me </div><div><br></div><div><div><span style="font-size:14px">void testCom1(void) {</span></div><div><span style="font-size:14px">  char buffer[256] = {0};</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  printf("*** Simple COM1 Test ***\n");</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  //int fd = open("/dev/ttyS1", O_RDWR | O_NOCTTY | _FNDELAY);</span></div><div><span style="font-size:14px">  int fd = open("/dev/ttyS2", O_RDWR | O_NOCTTY);</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  printf("\nOpened COM1, fd=%d\n\n", fd);</span></div><div><span style="font-size:14px">  if(fd < 0)</span></div><div><span style="font-size:14px">      printf("open error\n");</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  #if 0</span></div><div><span style="font-size:14px">  if(fcntl(fd, F_SETFL, 0) < 0)  </span></div><div><span style="font-size:14px">  {  </span></div><div><span style="font-size:14px">    printf("fcntl failed!\n");  </span></div><div><span style="font-size:14px">    return;  </span></div><div><span style="font-size:14px">  }       </span></div><div><span style="font-size:14px">  else  </span></div><div><span style="font-size:14px">  {  </span></div><div><span style="font-size:14px">      printf("fcntl=%d\n",fcntl(fd, F_SETFL,0));  </span></div><div><span style="font-size:14px">  }</span></div><div><span style="font-size:14px">  #endif</span></div><div><span style="font-size:14px">  //fcntl(fd, F_SETFL, 0); // set blocked</span></div><div><span style="font-size:14px">  </span></div><div><span style="font-size:14px">  struct termios options;</span></div><div><span style="font-size:14px">  tcgetattr(fd, &options);</span></div><div><span style="font-size:14px">  bzero(&options, sizeof(options));</span></div><div><span style="font-size:14px"><span style="white-space:pre-wrap">   </span>/* setting the baud rate */</span></div><div><span style="font-size:14px">  cfsetispeed(&options, B115200);</span></div><div><span style="font-size:14px">  cfsetospeed(&options, B115200);</span></div><div><span style="font-size:14px"><br></span></div><div><span style="white-space:pre-wrap;font-size:14px"> </span></div><div><span style="font-size:14px">  options.c_cflag |= (CLOCAL | CREAD);</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  //options.c_cflag &= ~PARENB;</span></div><div><span style="font-size:14px">  //options.c_cflag &= ~CSTOPB;</span></div><div><span style="font-size:14px">  //options.c_cflag &= ~CSIZE;</span></div><div><span style="font-size:14px">  options.c_cflag |= (CS8 | CRTSCTS);</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  options.c_iflag = IGNPAR| ICRNL;</span></div><div><span style="font-size:14px">  options.c_oflag = 0;</span></div><div><span style="font-size:14px">  options.c_lflag = ICANON;</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  options.c_cc[VEOF] = 4;</span></div><div><span style="font-size:14px">  options.c_cc[VMIN] = 1;</span></div><div><span style="font-size:14px">  options.c_cc[VTIME] = 0;</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  tcflush(fd, TCIFLUSH);</span></div><div><span style="font-size:14px">  tcsetattr(fd, TCSANOW, &options);  </span></div><div><span style="font-size:14px">      </span></div><div><span style="font-size:14px">  if(0 == isatty(fd))  </span></div><div><span style="font-size:14px">  {  </span></div><div><span style="font-size:14px">      printf("input is not a terminal device\n");  </span></div><div><span style="font-size:14px">      //return;  </span></div><div><span style="font-size:14px">  }</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  int numBytes = write(fd, "Hello, I'm waiting for input..\r\n", 33);</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  if (numBytes < 0) {</span></div><div><span style="font-size:14px">    printf("\nFailed to send from COM1!\n");</span></div><div><span style="font-size:14px">  }</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  </span></div><div><span style="font-size:14px">  //wait input </span></div><div><span style="font-size:14px">  printf("wait 5s \n");</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  #if 1</span></div><div><span style="font-size:14px">  //(void) rtems_task_wake_after( 5 * rtems_clock_get_ticks_per_second() );</span></div><div><span style="font-size:14px">  numBytes = read(fd, buffer, 20);</span></div><div><span style="font-size:14px">  printf("read bytes %d\n", numBytes);</span></div><div><span style="font-size:14px">  strerror(errno);</span></div><div><span style="font-size:14px">  if (numBytes < 0) {</span></div><div><span style="font-size:14px">    printf("\nFailed to read from COM1!\n");</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  }</span></div><div><span style="font-size:14px">  else if(numBytes == 0)</span></div><div><span style="font-size:14px">  {</span></div><div><span style="font-size:14px">    printf("read error return 0\n");</span></div><div><span style="font-size:14px">  }</span></div><div><span style="font-size:14px">  else</span></div><div><span style="font-size:14px">  {</span></div><div><span style="font-size:14px">    //buffer[numBytes] = 0; // terminate</span></div><div><span style="font-size:14px">    printf("rev: %s\n", buffer);</span></div><div><span style="font-size:14px">  }</span></div><div><span style="font-size:14px">  #endif</span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">  //int read_cnt = uart_recv(fd, buffer, 20);</span></div><div><span style="font-size:14px">  //printf("rev: %s\n", buffer);</span></div><div><span style="font-size:14px">  //printf("read_cnt: %d\n", read_cnt);</span></div><div><span style="font-size:14px">  close(fd);</span></div><div><span style="font-size:14px">  rtems_task_delete(RTEMS_SELF);</span></div><div><span style="font-size:14px">}</span></div></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">hope you could help me check it , thx!</span></div><div><span style="font-size:14px"></span></div></div>_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank" rel="noreferrer">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a></blockquote></div>