так вы конкретно скажите, вам реализация через стандартный драйвер HAL нужна или вы хотите делать
свой обработчик прерывания? (эти пункты взаимоисключающие)
если HAL - там работа идет через getchar, printf.
Код
/* A simple program that recognizes the characters 't' and 'v' */
#include <stdio.h>
#include <string.h>
int main ()
{
char* msg = "Detected the character 't'.\n";
FILE* fp;
char prompt = 0;
fp = fopen ("/dev/uart1", "r+"); //Open file for reading and writing
if (fp)
{
while (prompt != 'v')
{ // Loop until we receive a 'v'.
prompt = getc(fp); // Get a character from the UART.
if (prompt == 't')
{ // Print a message if character is 't'.
fwrite (msg, strlen (msg), 1, fp);
}
}
fprintf(fp, "Closing the UART file.\n");
fclose (fp);
}
return 0;
}
если надо свое прерывание, то смотрите в сторону alt_irq_register