diff options
author | Björn Stenberg <bjorn@haxx.se> | 2002-04-20 13:25:58 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2002-04-20 13:25:58 +0000 |
commit | 191f4d22b9e9437ecf068ed2a5fe20197b5e73d8 (patch) | |
tree | 7f35c0e1601a46c1dfb5744fa595173db3078901 /firmware/serial.c | |
parent | 45e9494a45ebac54a20fd399fc4faa4755096d4e (diff) | |
download | rockbox-191f4d22b9e9437ecf068ed2a5fe20197b5e73d8.tar.gz rockbox-191f4d22b9e9437ecf068ed2a5fe20197b5e73d8.zip |
Fixed REG and REG_ADDR style macros
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@150 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/serial.c')
-rw-r--r-- | firmware/serial.c | 64 |
1 files changed, 31 insertions, 33 deletions
diff --git a/firmware/serial.c b/firmware/serial.c index f9708f98cf..217f23eb6f 100644 --- a/firmware/serial.c +++ b/firmware/serial.c | |||
@@ -31,54 +31,52 @@ | |||
31 | static int serial_byte,serial_flag; | 31 | static int serial_byte,serial_flag; |
32 | 32 | ||
33 | void serial_putc (char byte) | 33 | void serial_putc (char byte) |
34 | { | 34 | { |
35 | static int i = 0; | 35 | while (!(SSR1 & (1<<TDRE))); |
36 | while (!(QI(SCISSR1) & (1<<TDRE))); | 36 | TDR1 = byte; |
37 | QI(SCITDR1) = byte; | 37 | clear_bit(TDRE,SSR1_ADDR); |
38 | clear_bit (TDRE,SCISSR1); | 38 | } |
39 | lcd_goto ((i++)%11,1); lcd_putc (byte); | ||
40 | } | ||
41 | 39 | ||
42 | void serial_puts (char const *string) | 40 | void serial_puts (char const *string) |
43 | { | 41 | { |
44 | int byte; | 42 | int byte; |
45 | while ((byte = *string++)) | 43 | while ((byte = *string++)) |
46 | serial_putc (byte); | 44 | serial_putc (byte); |
47 | } | 45 | } |
48 | 46 | ||
49 | int serial_getc( void ) | 47 | int serial_getc( void ) |
50 | { | 48 | { |
51 | int byte; | 49 | int byte; |
52 | while (!serial_flag); | 50 | while (!serial_flag); |
53 | byte = serial_byte; | 51 | byte = serial_byte; |
54 | serial_flag = 0; | 52 | serial_flag = 0; |
55 | serial_putc (byte); | 53 | serial_putc (byte); |
56 | return byte; | 54 | return byte; |
57 | } | 55 | } |
58 | 56 | ||
59 | void serial_setup (int baudrate) | 57 | void serial_setup (int baudrate) |
60 | { | 58 | { |
61 | QI(SCISCR1) = | 59 | SCR1 = 0; |
62 | QI(SCISSR1) = | 60 | SSR1 = 0; |
63 | QI(SCISMR1) = 0; | 61 | SMR1 = 0; |
64 | QI(SCIBRR1) = (PHI/(32*baudrate))-1; | 62 | BRR1 = (FREQ/(32*baudrate))-1; |
65 | QI(SCISCR1) = 0x70; | 63 | SCR1 = 0x70; |
66 | } | 64 | } |
67 | 65 | ||
68 | #pragma interrupt | 66 | #pragma interrupt |
69 | void REI1 (void) | 67 | void REI1 (void) |
70 | { | 68 | { |
71 | clear_bit (FER,SCISSR1); | 69 | clear_bit (FER,SSR1_ADDR); |
72 | } | 70 | } |
73 | 71 | ||
74 | #pragma interrupt | 72 | #pragma interrupt |
75 | void RXI1 (void) | 73 | void RXI1 (void) |
76 | { | 74 | { |
77 | serial_byte = QI(SCIRDR1); | 75 | serial_byte = RDR1; |
78 | serial_flag = 1; | 76 | serial_flag = 1; |
79 | clear_bit (RDRF,SCISSR1); | 77 | clear_bit(RDRF,SSR1_ADDR); |
80 | if (serial_byte == '0') | 78 | if (serial_byte == '0') |
81 | lcd_turn_off_backlight (); | 79 | lcd_turn_off_backlight (); |
82 | if (serial_byte == '1') | 80 | if (serial_byte == '1') |
83 | lcd_turn_on_backlight (); | 81 | lcd_turn_on_backlight (); |
84 | } | 82 | } |