sensor_pzem: fix libopencm3 interface
This commit is contained in:
parent
6a0b0bf7d1
commit
11e0653fba
|
@ -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 */
|
/** USART interrupt service routine called when data has been transmitted or received */
|
||||||
void USART_ISR(SENSOR_PZEM_USART)(void)
|
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
|
if (tx_i<LENGTH(tx_buffer)) { // not all bytes transmitted
|
||||||
usart_send(USART(SENSOR_PZEM_USART),tx_buffer[tx_i++]); // transmit next byte
|
usart_send(USART(SENSOR_PZEM_USART),tx_buffer[tx_i++]); // transmit next byte
|
||||||
} else { // request transmitted
|
} 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
|
if (rx_i<LENGTH(rx_buffer)) { // receiving response
|
||||||
rx_buffer[rx_i++] = usart_recv(USART(SENSOR_PZEM_USART)); // put received byte in buffer
|
rx_buffer[rx_i++] = usart_recv(USART(SENSOR_PZEM_USART)); // put received byte in buffer
|
||||||
if (rx_i>=LENGTH(rx_buffer)) { // buffer full
|
if (rx_i>=LENGTH(rx_buffer)) { // buffer full
|
||||||
|
|
Loading…
Reference in New Issue