source: rtos_arduino/trunk/arduino_lib/libraries/Bridge/examples/YunSerialTerminal/YunSerialTerminal.ino@ 136

Last change on this file since 136 was 136, checked in by ertl-honda, 8 years ago

ライブラリとOS及びベーシックなサンプルの追加.

File size: 3.2 KB
Line 
1/*
2 Arduino Y炭n USB-to-Serial
3
4 Allows you to use the Y炭n's 32U4 processor as a
5 serial terminal for the Linux side on the Y炭n.
6
7 Upload this to an Arduino Y炭n via serial (not WiFi) then open
8 the serial monitor at 115200 to see the boot process of Linux.
9 You can also use the serial monitor as a basic command line
10 interface for Linux using this sketch.
11
12 From the serial monitor the following commands can be issued:
13
14 '~' followed by '0' -> Set the UART speed to 57600 baud
15 '~' followed by '1' -> Set the UART speed to 115200 baud
16 '~' followed by '2' -> Set the UART speed to 250000 baud
17 '~' followed by '3' -> Set the UART speed to 500000 baud
18 '~' followed by '~' -> Sends the bridge's shutdown command to
19 obtain the console.
20
21 The circuit:
22 * Arduino Y炭n
23
24 created March 2013
25 by Massimo Banzi
26 modified by Cristian Maglie
27
28 This example code is in the public domain.
29
30 http://arduino.cc/en/Tutorial/YunSerialTerminal
31
32 */
33
34
35long linuxBaud = 250000;
36const int handshake = 7; // the number of the HANDSHAKE pin
37
38void setup() {
39 Serial.begin(115200); // open serial connection via USB-Serial
40 Serial1.begin(linuxBaud); // open serial connection to Linux
41 pinMode(handshake, OUTPUT);
42 digitalWrite(handshake, LOW);
43}
44
45boolean commandMode = false;
46
47void loop() {
48 // copy from USB-CDC to UART
49 int c = Serial.read(); // read from USB-CDC
50 if (c != -1) { // got anything?
51 if (commandMode == false) { // if we aren't in command mode...
52 if (c == '~') { // Tilde '~' key pressed?
53 commandMode = true; // enter in command mode
54 } else {
55 Serial1.write(c); // otherwise write char to UART
56 }
57 } else { // if we are in command mode...
58 if (c == '0') { // '0' key pressed?
59 Serial1.begin(57600); // set speed to 57600
60 Serial.println("Speed set to 57600");
61 } else if (c == '1') { // '1' key pressed?
62 Serial1.begin(115200); // set speed to 115200
63 Serial.println("Speed set to 115200");
64 } else if (c == '2') { // '2' key pressed?
65 Serial1.begin(250000); // set speed to 250000
66 Serial.println("Speed set to 250000");
67 } else if (c == '3') { // '3' key pressed?
68 Serial1.begin(500000); // set speed to 500000
69 Serial.println("Speed set to 500000");
70 } else if (c == '~') { // '~` key pressed?
71 // send "bridge shutdown" command
72 Serial1.write((uint8_t *)"\xff\0\0\x05XXXXX\x7f\xf9", 11);
73 Serial.println("Sending bridge's shutdown command");
74 } else { // any other key pressed?
75 Serial1.write('~'); // write '~' to UART
76 Serial1.write(c); // write char to UART
77 }
78 commandMode = false; // in all cases exit from command mode
79 }
80 }
81
82 // copy from UART to USB-CDC
83 c = Serial1.read(); // read from UART
84 if (c != -1) { // got anything?
85 Serial.write(c); // write to USB-CDC
86 }
87}
Note: See TracBrowser for help on using the repository browser.