创客百科

姿势共享,有节操无门槛参与的创客百科,创客动力之源 \ (^_^) /

用户工具

站点工具


en:arduino:libraries:softwareserial

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

en:arduino:libraries:softwareserial [2016/12/25 22:15]
en:arduino:libraries:softwareserial [2016/12/25 22:15] (当前版本)
行 1: 行 1:
 +====== SoftwareSerial Library ======
  
 +
 +The Arduino hardware has built-in support for serial communication on pins 0 and 1 (which also goes to the computer via the USB connection). The native serial support happens via a piece of hardware (built into the chip) called a UART. This hardware allows the Atmega chip to receive serial communication even while working on other tasks, as long as there room in the 64 byte serial buffer.
 +
 +The SoftwareSerial library has been developed to allow serial communication on other digital pins of the Arduino, using software to replicate the functionality (hence the name "​SoftwareSerial"​). It is possible to have multiple software serial ports with speeds up to 115200 bps. A parameter enables inverted signaling for devices which require that protocol.
 +
 +The version of SoftwareSerial included in 1.0 and later is based on the NewSoftSerial library by Mikal Hart.
 +
 +===== Limitations =====
 +
 +The library has the following known limitations:​
 +  * If using multiple software serial ports, only one can receive data at a time.
 +  * Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69
 +===== Example =====
 +<code cpp>
 +/*
 +  Software serial multple serial test
 + 
 + ​Receives from the hardware serial, sends to software serial.
 + ​Receives from software serial, sends to hardware serial.
 + 
 + The circuit: ​
 + * RX is digital pin 2 (connect to TX of other device)
 + * TX is digital pin 3 (connect to RX of other device)
 + 
 + ​created back in the mists of time
 + ​modified 9 Apr 2012
 + by Tom Igoe
 + based on Mikal Hart's example
 + 
 + This example code is in the public domain.
 + 
 + */
 +#include <​SoftwareSerial.h>​
 +
 +SoftwareSerial mySerial(2, 3); // RX, TX
 +
 +void setup()  ​
 +{
 + // Open serial communications and wait for port to open:
 +  Serial.begin(57600);​
 +   while (!Serial) {
 +    ; // wait for serial port to connect. Needed for Leonardo only
 +  }
 +
 +  ​
 +  Serial.println("​Goodnight moon!"​);​
 +
 +  // set the data rate for the SoftwareSerial port
 +  mySerial.begin(4800);​
 +  mySerial.println("​Hello,​ world?"​);​
 +}
 +
 +void loop() // run over and over
 +{
 +  if (mySerial.available())
 +    Serial.write(mySerial.read());​
 +  if (Serial.available())
 +    mySerial.write(Serial.read());​
 +}
 +</​code>​
 +===== Functions =====
 +
 +  * [[en:​arduino:​libraries:​SoftwareSerialConstructor|SoftwareSerial()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialAvailable|available()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialBegin|begin()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialIsListening|isListening()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialOverflow|overflow()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialPeek|peek()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialRead|read()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialPrint|print()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialPrintln|println()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialListen|listen()]]
 +  * [[en:​arduino:​libraries:​SoftwareSerialWrite|write()]]
 +
 +[[en:​arduino:​libraries|Reference Home]]
en/arduino/libraries/softwareserial.txt · 最后更改: 2016/12/25 22:15 (外部编辑)