![]() ![]() “E, 7, 1″ style parity, data and stopbit configuration. What’s next for NewSoftSerial? Well, there are a number of things being asked for: I/O was tightly controlled to avoid overflow, which can easily occur at high baud rates when you have no hardware flow control. 0016 copy of the software, which optimizes the timer 0 overflow counter - an important contributor to software serial performance. These were measured using USB-powered Arduinos running a prerelease v. *These figures are about 70% higher than NewSoftSerial 8 with Arduino 0014. Because the performance paths no longer use digitalRead/Write, they are less sluggish and much easier to tune to the higher speeds. In my test suite, I am now able to get reliable RX at speeds up to an unprecedented 57.6K baud on a 16MHz processor and 31.25K baud at 8MHz*. ![]() Because of this, NewSoftSerial 9 is able to operate reliably at higher baud rates than in the past. Furthermore, the library should be more immune to future changes of this kind.ĭirect port I/O is amazingly fast - about 10-25 times faster than the equivalent call to digitalRead/Write. ![]() By using direct port I/O and retuning all the timing tables, we avoid problems caused by the longer digitalReads and digitalWrites. All software serial libraries are timing sensitive, and even a microsecond or two change in a function’s timing can introduce enough error to fatally corrupt serial transmissions. Changes to timings of digitalRead and digitalWrite in Arduino 0015 broke NewSoftSerial at higher baud rates. Most importantly, it makes NewSoftSerial more compatible with the latest Arduino release. What does that give you? Well, a couple of things. This is a major new release that replaces all the performance path pin reads and writes with direct Port I/O. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |