sensor_pzem: fix libopencm3 interface

This commit is contained in:
King Kévin 2020-02-17 14:52:37 +01:00
parent 6a0b0bf7d1
commit 11e0653fba
1 changed files with 2 additions and 2 deletions

View File

@ -176,7 +176,7 @@ struct sensor_pzem_measurement_t sensor_pzem_measurement_decode(void)
/** USART interrupt service routine called when data has been transmitted or received */
void USART_ISR(SENSOR_PZEM_USART)(void)
{
if (usart_get_interrupt_source(USART(SENSOR_PZEM_USART), USART_SR_TXE)) { // data has been transmitted
if (usart_get_flag(USART(SENSOR_PZEM_USART), USART_SR_TXE)) { // data has been transmitted
if (tx_i<LENGTH(tx_buffer)) { // not all bytes transmitted
usart_send(USART(SENSOR_PZEM_USART),tx_buffer[tx_i++]); // transmit next byte
} else { // request transmitted
@ -186,7 +186,7 @@ void USART_ISR(SENSOR_PZEM_USART)(void)
}
}
if (usart_get_interrupt_source(USART(SENSOR_PZEM_USART), USART_SR_RXNE)) { // data has been received
if (usart_get_flag(USART(SENSOR_PZEM_USART), USART_SR_RXNE)) { // data has been received
if (rx_i<LENGTH(rx_buffer)) { // receiving response
rx_buffer[rx_i++] = usart_recv(USART(SENSOR_PZEM_USART)); // put received byte in buffer
if (rx_i>=LENGTH(rx_buffer)) { // buffer full