- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 7k
Closed
Milestone
Description
The code for HardwareSerial.cpp contains a goto statement which is not needed by rewriting the code.
This GOTO is in void HardwareSerial::begin(unsigned long baud)
proposed alternative :
void HardwareSerial::begin(unsigned long baud)
{
  *_ucsra = 1 << _u2x;
  uint16_t baud_setting = (F_CPU / 4 / baud - 1) / 2;
  // hardcoded exception for compatibility with the bootloader shipped
  // with the Duemilanove and previous boards and the firmware on the 8U2
  // on the Uno and Mega 2560.
  if (((F_CPU == 16000000UL) && (baud == 57600)) || (baud_setting >4095))
  {
    *_ucsra = 0;
    baud_setting = (F_CPU / 8 / baud - 1) / 2;
  }
  // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register)
  *_ubrrh = baud_setting >> 8;
  *_ubrrl = baud_setting;
  transmitting = false;
  sbi(*_ucsrb, _rxen);
  sbi(*_ucsrb, _txen);
  sbi(*_ucsrb, _rxcie);
  cbi(*_ucsrb, _udrie);
}idem for - void HardwareSerial::begin(unsigned long baud, byte config) -
Detailed discussion see - http://arduino.cc/forum/index.php/topic,146683.0.html
Metadata
Metadata
Assignees
Labels
No labels