work.c

Добавим объявление выделенного буфера:

/* work */
void work() {
    char buffer[80];

А в бесконечном цикле организуем прием и передачу строки, символов приглашения и символов перевода строки:

    /* infinity loop */
    while (1) {
        /* put intro char */
        usart_sends(USART1, "# ");
        usart_receives(USART1, buffer);
        usart_sends(USART1, "\r\n");
        usart_sends(USART1, "> ");
        usart_sends(USART1, buffer);
        usart_sends(USART1, "\r\n");
    }
}