Serial.flush() returns before last character is transmitted

Arduino specifieke Software
Berichten: 1
Geregistreerd: 18 Jun 2015, 09:25

Serial.flush() returns before last character is transmitted

Berichtdoor hacoustodion » 18 Jun 2015, 15:43

Hallo,

Na het lezen van de volgende site, heb ik helaas nog steeds niet te oplossing. Iemand ideeen? tips?

https://code.google.com/p/arduino/issue ... rial.flush


Ik werk met:
- Arduino 1.6.4.
- Arduino Due + RS-485 module for Arduino (MAX485 )
- Arduino Uno + RS485 Shield V2
- With HardwareSerial::flush(code) ->
void HardwareSerial::flush()
{
// If we have never written a byte, no need to flush. This special
// case is needed since there is no way to force the TXC (transmit
// complete) bit to 1 during initialization
if (!_written)
return;

while (bit_is_set(*_ucsrb, UDRIE0) || bit_is_clear(*_ucsra, TXC0)) {
if (bit_is_clear(SREG, SREG_I) && bit_is_set(*_ucsrb, UDRIE0))
// Interrupts are globally disabled, but the DR empty
// interrupt should be enabled, so poll the DR empty flag to
// prevent deadlock
if (bit_is_set(*_ucsra, UDRE0))
_tx_udr_empty_irq();
}
// If we get here, nothing is queued anymore (DRIE is disabled) and
// the hardware finished tranmission (TXC is set).
}

De configuratie werkt, maar de laatste karakter woord verkeerd ontvangen.
van Due -> Uno:
helloUno -> helloUnÿ (Zie laatste karakter )


Iemand een hint? Tip?

Tnx!

Advertisement

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: okuwuhuaozaqa en 20 gasten