Statistics
| Branch: | Revision:

ddr4s / fw / wiringPi / examples / serialTest.c @ 32:cadb9025f1e0

History | View | Annotate | Download (1.95 KB)

1
/*
2
 * serialTest.c:
3
 *        Very simple program to test the serial port. Expects
4
 *        the port to be looped back to itself
5
 *
6
 * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
7
 ***********************************************************************
8
 * This file is part of wiringPi:
9
 *        https://projects.drogon.net/raspberry-pi/wiringpi/
10
 *
11
 *    wiringPi is free software: you can redistribute it and/or modify
12
 *    it under the terms of the GNU Lesser General Public License as published by
13
 *    the Free Software Foundation, either version 3 of the License, or
14
 *    (at your option) any later version.
15
 *
16
 *    wiringPi is distributed in the hope that it will be useful,
17
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 *    GNU Lesser General Public License for more details.
20
 *
21
 *    You should have received a copy of the GNU Lesser General Public License
22
 *    along with wiringPi.  If not, see <http://www.gnu.org/licenses/>.
23
 ***********************************************************************
24
 */
25

    
26
#include <stdio.h>
27
#include <string.h>
28
#include <errno.h>
29

    
30
#include <wiringPi.h>
31
#include <wiringSerial.h>
32

    
33
int main ()
34
{
35
  int fd ;
36
  int count ;
37
  unsigned int nextTime ;
38

    
39
  if ((fd = serialOpen ("/dev/ttyAMA0", 115200)) < 0)
40
  {
41
    fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)) ;
42
    return 1 ;
43
  }
44

    
45
  if (wiringPiSetup () == -1)
46
  {
47
    fprintf (stdout, "Unable to start wiringPi: %s\n", strerror (errno)) ;
48
    return 1 ;
49
  }
50

    
51
  nextTime = millis () + 300 ;
52

    
53
  for (count = 0 ; count < 256 ; )
54
  {
55
    if (millis () > nextTime)
56
    {
57
      printf ("\nOut: %3d: ", count) ;
58
      fflush (stdout) ;
59
      serialPutchar (fd, count) ;
60
      nextTime += 300 ;
61
      ++count ;
62
    }
63

    
64
    delay (3) ;
65

    
66
    while (serialDataAvail (fd))
67
    {
68
      printf (" -> %3d", serialGetchar (fd)) ;
69
      fflush (stdout) ;
70
    }
71
  }
72

    
73
  printf ("\n") ;
74
  return 0 ;
75
}