2012-02-29 93 views
0

我正在为pic24编写一个c程序。 出于某种原因,我只能声明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:我有足够的数据存储器可用 – 2012-02-29 07:56:22

+1

如何发布一些完整的,可编译的,简单的代码来重现问题。 – 2012-02-29 07:58:09

+0

你还使用什么编译器,你传递给它什么选项? – 2012-02-29 07:59:09

回答

1

This document提到使用特定的PIC-关键字nearfar,也存在不同的内存模型(小和大),这些模型会影响你应该如何使用这些关键字。你需要检查这些东西。