Contiki 2.5
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
cpu
z80
dev
rs232.c
1
/*
2
* Copyright (c) 2007, Takahide Matsutsuka.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above
11
* copyright notice, this list of conditions and the following
12
* disclaimer in the documentation and/or other materials provided
13
* with the distribution.
14
* 3. The name of the author may not be used to endorse or promote
15
* products derived from this software without specific prior
16
* written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
19
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
22
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
24
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
*
30
* $Id: rs232.c,v 1.5 2009/03/17 20:20:45 adamdunkels Exp $
31
*
32
*/
33
/*
34
* \file
35
* This is RS-232C process based on polling.
36
* Note that rs232.c and rs232-slip.c cannot be used at the same time.
37
* \author
38
* Takahide Matsutsuka <markn@markn.org>
39
*/
40
41
#include "contiki.h"
42
#include "dev/slip.h"
43
#include "
dev/serial-line.h
"
44
#include "dev/rs232.h"
45
46
PROCESS
(rs232_process,
"RS-232C polling process"
);
47
/*---------------------------------------------------------------------------*/
48
PROCESS_THREAD
(rs232_process, ev, data)
49
{
50
static
struct
etimer
timer
;
51
char
ch;
52
unsigned
char
i, stat;
53
PROCESS_BEGIN
();
54
55
rs232_arch_init(RS232_BAUD_RATE);
56
etimer_set
(&
timer
,
CLOCK_SECOND
/ 16);
57
58
while
(1) {
59
PROCESS_WAIT_EVENT
();
60
61
if
(
etimer_expired
(&
timer
)) {
62
for
(i = 0; i < RS232_BUFSIZE; i++) {
63
ch = rs232_arch_poll(&stat);
64
if
(stat == 0) {
65
break
;
66
}
67
/* We have an input data */
68
RS232_CALLBACK(ch);
69
}
70
etimer_reset
(&
timer
);
71
}
72
}
73
74
PROCESS_END
();
75
}
76
/*---------------------------------------------------------------------------*/
Generated on Fri Aug 30 2013 12:34:08 for Contiki 2.5 by
1.8.3.1