Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2013
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. void SoftwareSerial::print(uint8_t b)
  2. {
  3. if (_baudRate == 0)
  4. return;
  5.  
  6. int bitDelay = _bitPeriod - clockCyclesToMicroseconds(50); // a digitalWrite is about 50 cycles
  7. byte mask;
  8.  
  9. digitalWrite(_transmitPin, LOW);
  10. delayMicroseconds(bitDelay);
  11.  
  12. for (mask = 0x01; mask; mask <<= 1) {
  13. if (b & mask){ // choose bit
  14. digitalWrite(_transmitPin,HIGH); // send 1
  15. }
  16. else{
  17. digitalWrite(_transmitPin,LOW); // send 1
  18. }
  19. delayMicroseconds(bitDelay);
  20. }
  21.  
  22. digitalWrite(_transmitPin, HIGH);
  23. delayMicroseconds(bitDelay);
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement