Я новичок в C. У меня есть константный беззнаковый короткий массив из 1024 шестнадцатеричных чисел.Каждое шестнадцатеричное число представляет собой 8 битов и представляет биты, которые должны включаться и выключаться при отображении изображения на экране GBA.Но не берите в голову все это и синтаксис DMA, который я имею ниже только для справки !!
Мой главный вопрос ... как я могу перебирать элементы в массиве ПО АДРЕСУ, захватывать это содержимое, а затем продолжать увеличиваться по адресам?Кроме того, если вы могли бы взглянуть на приведенный ниже код и, возможно, понять, почему я получаю:
"Program.c:(.text+0xe8): undefined reference to `myimg'"
на строке, которая вызывает "drawImage3" и это будет рад.
(восновная часть программы. C):
const unsigned short *pt;
pt = &myimg[0];
int size = 5;
drawImage3(15,15,img_WIDTH,img_HEIGHT, pt);
(определено в другом месте):
void drawImage3(int x, int y, int width, int height, const u16* image)
{
int r;
for (r=0; r<height; r++)
{
DMA[3].src = ℑ
DMA[3].dst = &videoBuffer[OFFSET(x+width, y, 240)];
DMA[3].cnt = width | DMA_SOURCE_FIXED | DMA_ON | DMA_DESTINATION_INCREMENT;
image++;
}
}