c - 添加变量时出错

标签 c global-variables pic

我正在为 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() {
...
}

最佳答案

This document提到使用 PIC 特定的关键字 nearfar,以及影响您如何使用这些关键字的不同内存模型(小和大)的存在。您需要检查这些事情。

关于c - 添加变量时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9495424/

相关文章:

c - 区分 uid 范围的终止 (-1,…) 和定向终止

c - GDB - 为没有符号的二进制文件提供源代码路径

python字符串到函数: globals() vs sys.模块与字典

c - 如何将这部分代码从汇编语言转换成C语言

performance - PIC 16f1827 ADC 转换太慢 XC8

C:试图显示包含引号的文件中的内容,但编译器将它们打印成奇怪的符号

c - 复数算术无法正常工作

go - 全局变量地址

vb.net - 跨表单使用变量 - VB

c - 强制编译器在预处理期间进行算术计算