blob: 319d5a2968b375cfaa9f08cb7a4ac884339835a2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#include <string.h>
#include "hw.h"
#include "serial.h"
#include "print.h"
__xdata char *simif;
int cnt;
void process(char *cmd)
{
if (strstr(cmd, "test") == cmd)
{
cnt++;
print_c('_');print(cmd);print_c('_');
print_f("This is a test %d\n", cnt);
}
else if (strstr(cmd, "dump") == cmd)
{
int i;
print_c('_');print(cmd);print_c('_');
for (i= 0; i<100; i++)
{
print_cx(i);
print(" ");
}
print("\n----\n");
}
else
{
print("Unknown command: \"");print(cmd);print("\"\n");
}
}
__xdata char cmd[40];
char ptr;
void main(void)
{
simif= (__xdata char *)0xffff;
serial_init(9600);
cmd[ptr=0]= 0;
print("Hello World!\n");
P1= 0;
while (1)
{
if (serial_received())
{
char c= serial_receive();
if ((c == '\n') ||
(c == '\r'))
{
process(cmd);
cmd[ptr=0]= 0;
}
else if (ptr < 39)
{
cmd[ptr++]= c;
cmd[ptr]= 0;
print("cmd=");print(cmd);print_c('\n');
}
}
}
}
|