我正在为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() {
...
}
本文档提到使用PIC特定的关键字near
和far
,以及存在影响如何使用这些关键字的不同内存模型(小型和大型)。你需要检查这些东西。