mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-01-18 12:52:44 +01:00
stm32f0: fixed bug in uart implementation
alternate function register was written incorrectly for pin numbers > 8 + cpu/stm32f0: fixed possible null-ptr deref
This commit is contained in:
parent
94c287c4c2
commit
dfe5c273d1
@ -122,16 +122,16 @@ int init_base(uart_t uart, uint32_t baudrate)
|
|||||||
port->AFR[0] |= af << (rx_pin * 4);
|
port->AFR[0] |= af << (rx_pin * 4);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
port->AFR[1] &= ~(0xf << ((rx_pin - 16) * 4));
|
port->AFR[1] &= ~(0xf << ((rx_pin - 8) * 4));
|
||||||
port->AFR[1] |= af << ((rx_pin - 16) * 4);
|
port->AFR[1] |= af << ((rx_pin - 8) * 4);
|
||||||
}
|
}
|
||||||
if (tx_pin < 8) {
|
if (tx_pin < 8) {
|
||||||
port->AFR[0] &= ~(0xf << (tx_pin * 4));
|
port->AFR[0] &= ~(0xf << (tx_pin * 4));
|
||||||
port->AFR[0] |= af << (tx_pin * 4);
|
port->AFR[0] |= af << (tx_pin * 4);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
port->AFR[1] &= ~(0xf << ((tx_pin - 16) * 4));
|
port->AFR[1] &= ~(0xf << ((tx_pin - 8) * 4));
|
||||||
port->AFR[1] |= af << ((tx_pin - 16) * 4);
|
port->AFR[1] |= af << ((tx_pin - 8) * 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* configure UART to mode 8N1 with given baudrate */
|
/* configure UART to mode 8N1 with given baudrate */
|
||||||
|
Loading…
Reference in New Issue
Block a user