так, по моему не там я проблему ищу, а надо ее искать непосредственно в UART

. Дело в том что:
Код
ReceiveData = XMC_UART_CH_GetReceivedData(XMC_UART0_CH1);
данной строчкой мы читаем пришедшее по UART
всяку бяку данные и вот не задача:
Код
while(1){
ReceiveData = XMC_UART_CH_GetReceivedData(XMC_UART0_CH1);
if(ReceiveData == 0x01){
MANCHESTER_SW_0.encoder->status = 0U;
MANCHESTER_SW_0.encoder->data = ReceiveData;
MANCHESTER_SW_Encode(&MANCHESTER_SW_0);
temp1 = MANCHESTER_SW_0.encoder->status;
while(MANCHESTER_SW_0.encoder->status != 1);
ReceiveData = 0xFF;
XMC_UART_CH_Transmit(XMC_UART0_CH1, ReceiveData);
}
}
как только код проходит первый цыкал и возвращается к строчки
Код
ReceiveData = XMC_UART_CH_GetReceivedData(XMC_UART0_CH1);
,
о чудо я наблюдаю, что забирается прошлое значение, т.е. я делаю вывод что после прочтения данных, данные остаются в
RX буфере, который я не создавал. Скорей всего предусмотренным производителем.
Следовательно его как-то надо очищать!
Чтож, продолжу свои изыскания, будут мысли как почистить UART RX пишите, не стесняйтесь. Буду рад любой помощи!