2012-02-29 3 views
0

Я пишу c-программу для pic24. По какой-то причине я могу объявить только 7 глобальных переменных. Когда я добавляю восемь, программа компилируется, но она не будет работать на рис. Я проверил это с неиспользуемой переменнойОшибка при добавлении переменной

... 
//int blabalabla; 
... 

вверх программа работает, программа не ниже:

... 
int blabalabla; 
... 

Код:

#include "p24FJ64GA004.h" 

_CONFIG2(FNOSC_PRIPLL & POSCMOD_XT) 

#define RED2 LATBbits.LATB9 
#define RED1 LATBbits.LATB8 
#define GREEN2 LATBbits.LATB7 
#define GREEN1 LATBbits.LATB6 
#define BLUE LATBbits.LATB5 

#define VSYNC LATAbits.LATA1 
#define HSYNC LATAbits.LATA0 

#define HSYNCUP   0x02DC // 28us 
#define HSYNCDOWN  0x0063 // 3.7us 
#define HSYNCCYCLE  0x03F9 // 31.77us 
#define VSYNCCYCLE  0x0350 // 32us 
#define PIXELCOUNT  0x0049 // 2.8us 

volatile int teller; 

volatile int LINE; 
volatile int ACTIVE; 
volatile int ROW; 
volatile int ENDROW; 
volatile int number; 
volatile int seconde; 

int blablabla; 

int bitmap[20][5] = { {1,1,1,1,0}, 
        {1,0,0,1,0}, 
        {1,0,0,1,0}, 
        {1,0,0,1,0}, 
        {1,1,1,1,0}, 
        {0,0,0,1,0}, 
        {0,0,0,1,0}, 
        {0,0,0,1,0}, 
        {0,0,0,1,0}, 
        {0,0,0,1,0}, 
        {1,1,1,1,0}, 
        {0,0,0,1,0}, 
        {1,1,1,1,0}, 
        {1,0,0,0,0}, 
        {1,1,1,1,0}, 
        {1,1,1,1,0}, 
        {0,0,0,1,0}, 
        {0,0,1,1,0}, 
        {0,0,0,1,0}, 
        {1,1,1,1,0}}; 

int main() { 
... 
} 
+0

ps: У меня есть более чем достаточно данных, доступных –

+1

Как насчет публикации полного, компилируемого, простого кода, который воспроизводит проблему. –

+0

Также, какой компилятор вы используете и какие опции вы ему передаете? –

ответ

1

This document упоминает с помощью ПОС конкретных ключевых слов near и far, а также наличие различных моделей памяти (малых и больших), которые влияют на то, как вы должны использовать эти ключевые слова. Тебе нужно это проверить.

Смежные вопросы