У меня странная проблема. Внутри моей программы я включаю заголовочный файл с именем "system.h", который содержит определения адресов для определенных регистров. Проблема в том, что, когда я пытаюсь использовать один из этих определенных символов, я получаю сообщение об ошибке «Символ« имя символа »не может быть разрешен». Это работает, когда я переопределяю символ внутри исходного файла. Это не очень хорошее решение, потому что я использую процессор "NIOS2", поэтому всякий раз, когда я делаю изменения в QSYS, меняются адреса. Кто-нибудь знает, как это решить?
Спасибо заранее,
Приветствия.
#include "DISPLAY_7SEG.h"
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "stdint.h"
//#define SEGMENT_BASE 0x11020
//#define DIGIT_BASE 0x11040
//#define OFF 100
void display(int display)
{
switch(display)
{
case 100:
IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x0);
break;
case 0:
IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x1);
IOWR_ALTERA_AVALON_PIO_CLEAR_BITS(LED_BASE,0xF);
break;
case 1:
IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x2);
IOWR_ALTERA_AVALON_PIO_SET_BITS(LED_BASE,0xF);
break;
case 2:
IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x4);
IOWR_ALTERA_AVALON_PIO_CLEAR_BITS(LED_BASE,0xF);
break;
case 3:
IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x8);
IOWR_ALTERA_AVALON_PIO_SET_BITS(LED_BASE,0xF);
break;
default:
IOWR_ALTERA_AVALON_PIO_DATA(SEGMENT_BASE,0x0);
break;
}
}