Цитата(vadimuzzz @ Dec 16 2010, 10:43)

так вы конкретно скажите, вам реализация через стандартный драйвер 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
Скомпилил этот пример, предварительно установив в настройках систем либрари УАРТ как стандартное средство ввода/вывода. Выдает ошибку:
/FPGA_3.c:344: undefined reference to `fopen'
obj/FPGA_3.o(.text+0xbe4):../FPGA_3.c:349: undefined reference to `getc'
obj/FPGA_3.o(.text+0xc10):../FPGA_3.c:352: undefined reference to `fwrite'
obj/FPGA_3.o(.text+0xc2c):../FPGA_3.c:356: undefined reference to `fclose'
необходимые библиотечные файлы подключены, работаю в NIOS II IDE v9.1
В чем может быть ошибка?