diff --git a/lib/sensor_sdm120.c b/lib/sensor_sdm120.c index f5eb97c..ba9b058 100644 --- a/lib/sensor_sdm120.c +++ b/lib/sensor_sdm120.c @@ -301,7 +301,7 @@ float sensor_sdm120_measurement_decode(void) /** USART interrupt service routine called when data has been transmitted or received */ void USART_ISR(SENSOR_SDM120_USART)(void) { - if (usart_get_interrupt_source(USART(SENSOR_SDM120_USART), USART_SR_TXE)) { // data has been transmitted + if (usart_get_flag(USART(SENSOR_SDM120_USART), USART_SR_TXE)) { // data has been transmitted if (tx_used) { // not all bytes transmitted usart_send(USART(SENSOR_SDM120_USART),tx_buffer[--tx_used]); // transmit next byte (clears flag) } else { // all bytes transmitted @@ -310,7 +310,7 @@ void USART_ISR(SENSOR_SDM120_USART)(void) USART_CR1(USART(SENSOR_SDM120_USART)) |= USART_CR1_TCIE; // enable transfer complete interrupt } } - if (usart_get_interrupt_source(USART(SENSOR_SDM120_USART), USART_SR_TC)) { // data has been completely transmitted + if (usart_get_flag(USART(SENSOR_SDM120_USART), USART_SR_TC)) { // data has been completely transmitted USART_CR1(USART(SENSOR_SDM120_USART)) |= USART_CR1_TCIE; // disable transfer complete interrupt USART_SR(USART(SENSOR_SDM120_USART)) &= ~USART_SR_TC; // clear flag timeout = TIMEOUT_END; // select wait time after sending data @@ -318,7 +318,7 @@ void USART_ISR(SENSOR_SDM120_USART)(void) timer_set_counter(TIM(SENSOR_SDM120_TIMER), 0); // reset timer counter to get preset waiting time timer_enable_counter(TIM(SENSOR_SDM120_TIMER)); // wait } - if (usart_get_interrupt_source(USART(SENSOR_SDM120_USART), USART_SR_RXNE)) { // data has been received + if (usart_get_flag(USART(SENSOR_SDM120_USART), USART_SR_RXNE)) { // data has been received if (gpio_get(GPIO_PORT(SENSOR_SDM120_REDE_PIN),GPIO_PIN(SENSOR_SDM120_REDE_PIN))) { // not in receiver mode USART_SR(USART(SENSOR_SDM120_USART)) &= ~USART_SR_RXNE; // clear flag, ignore received data } else if (rx_used