Merge pull request #1012 from jurgis/1011-lpc1549-serial-format-will-disable-serial-port

LPC1549  - Enable usart when configuring it
pull/1015/merge
Martin Kojtal 2015-04-07 08:35:16 +02:00
commit c5c542c9b1
1 changed files with 12 additions and 2 deletions

View File

@ -211,8 +211,18 @@ void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_b
default:
break;
}
obj->uart->CFG = (data_bits << 2)
// First disable the the usart as described in documentation and then enable while updating CFG
// 24.6.1 USART Configuration register
// Remark: If software needs to change configuration values, the following sequence should
// be used: 1) Make sure the USART is not currently sending or receiving data. 2) Disable
// the USART by writing a 0 to the Enable bit (0 may be written to the entire register). 3)
// Write the new configuration value, with the ENABLE bit set to 1.
obj->uart->CFG &= ~(1 << 0);
obj->uart->CFG = (1 << 0) // this will enable the usart
| (data_bits << 2)
| (paritysel << 4)
| (stop_bits << 6);
}