Я пытаюсь получить данные через UART серийный на ПК с Silicon Labs C8051f320Ошибка при получении данных UART через последовательный порт с C8051F320
Я обычно программы в Java, так Поправьте меня, если я ошибаюсь, где-то с языка C или микроконтроллеры понимания.
Вот мой код, который обрабатывает УАППЫ Прерывания
Unsigned char Byte;
unsigned char TX_Ready =1;
void UART0_Interrupt (void) interrupt 4{
if (RI0 == 1)// Check if Rec flag is set
{
// Do nothing
}
if (TI0 == 1) { // Check if transmit flag is set
SBUF0 = Byte; // copy the character from Byte to Buffer
TI0 = 0; // Set Transmit flag to 0
}
}
Вот мой метод для отправки данных
void SendData(){
unsigned char incoming_str[] = {'d','s','a','\r'}; //array of chars to send
TX_Ready = 0;
for(i=0;i<sizeof(incoming_str);i++) {
Byte = incoming_str[i];
TI0=1;
}
}
Первой проблема я получаю данные в обратном порядке (это нормально). Вторая проблема я получаю символы в неправильных данных
Вот пример вывода:
сек d
сек d
сек d
a с сек
д
сек д
с д
сек д
с д
с д
с с
д
с д
сек д
сек д
сек д
сек д
с с
d
сек d
сек d
s d
s