Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void SoftwareSerial::print(uint8_t b)
- {
- if (_baudRate == 0)
- return;
- int bitDelay = _bitPeriod - clockCyclesToMicroseconds(50); // a digitalWrite is about 50 cycles
- byte mask;
- digitalWrite(_transmitPin, LOW);
- delayMicroseconds(bitDelay);
- for (mask = 0x01; mask; mask <<= 1) {
- if (b & mask){ // choose bit
- digitalWrite(_transmitPin,HIGH); // send 1
- }
- else{
- digitalWrite(_transmitPin,LOW); // send 1
- }
- delayMicroseconds(bitDelay);
- }
- digitalWrite(_transmitPin, HIGH);
- delayMicroseconds(bitDelay);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement