ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
1015449 Топик полностью
Aleksey_75 (02.07.2020 23:35, просмотров: 553) ответил SciFi на Если сделать аккуратно, то наверняка можно достаточно точно ловить временные метки отправки и приёма байтов и вычислять по ним, кто кому эхо или нет.
ну да, или тайминги или "левые заходы" в RXNE 

DISABLE_RX == 3, вычитается при каждом заходе по прерыванию RXNE


if (((iface->SR & USART_FLAG_TXE) != 0) && ((iface->CR1 & USART_CR1_TXEIE) != 0))

{

if ((lin1_tx_buf_prt != NULL) && (lin1_tx_buf_prt->rx_adr > lin1_tx_buf_prt->tx_adr ))

{

lin1_tx_run = DISABLE_RX;

iface->DR = lin1_tx_buf_prt->data[lin1_tx_buf_prt->tx_adr];

lin1_tx_buf_prt->tx_adr ++;

}

else

{

data = iface->DR;

iface->CR1 &= ~USART_CR1_TXEIE;

}

}