keil mcb2300并不是主要的

时间:2014-05-10 20:28:16

标签: c++ arm keil

我正在使用这个原型板MCB2300。我在Keil uVision4.7中编程,但问题是我的程序没有达到主要功能 当我运行这个程序时它很好

    /* ******************** Workshop 1 -- Exercise 2 **************************/
#include <stdio.h> // standard C definitions
#include "MCB2300 evaluatieboard.h" // hardware related functions


#include "lcd.h"

void init(void)
{
    initEvaluationBoard();
    lcd_init();
}
int main(void) {

    unsigned char number = 0;
    int i;
    char lcdText[2][17];

    init();

    sprintf(lcdText[0], "Hello World");
    lcd_print(lcdText[0]);
    while (1)
    {
        for (i = 0; i <250000; i++)
            if (!INT0) number = 0;

        sprintf(lcdText[1], "%3d", number);

        LEDS = number++;

        set_cursor(0,1);
        lcd_print(lcdText[1]);
    }
}

但当我将名称从main.c变为main.cpp并将此代码放入

   #include "MCB2300 evaluatieboard.h" // hardware related functions

int main(void)
{
    initEvaluationBoard();
    LEDS = 0xFF;
    for (int i = 0; i <250000; i++)
            if (!INT0) i = 0;
    LEDS = 0x00;

    while(1)
    {
        for (int i = 0; i <250000; i++)
            if (!INT0) i = 0;
    }
}

它在SWI_Handler B SWI_Handler上的文件LPC2300.s中崩溃(第624行)

有人知道如何解决这个问题

keil告诉我该程序有0个错误和0个警告。该计划开始了。但是当我查看调试工具时,我发现程序始终停在此行

编辑我忘了在这里添加MCB evaluateatieboard.h和c文件 .h文件     #ifndef _evaluationboard     #define _evaluationboard

#include <LPC23xx.H> // LPC23xx definitions

#define LEDS FIO2PIN0 // alternative (comprehensive) definition of FIOPIN0
#define INT0 (FIO2PIN1 & 0x04) // int0 is connected to P2.10 (bit 3 of FIO2PIN1)

void initEvaluationBoard(void); // function prototype

#endif

和.c文件

#include "MCB2300 evaluatieboard.h"

void initEvaluationBoard(void) 
{
    PINSEL10 = 0; // Disable ETM interface, enable LEDs
    FIO2DIR0 = 0xFF;
    PINMODE4 = 0x0020AAAA;
}

编辑 正如barak manos所说,它与c ++设置有关 如果我运行的代码保存为.c文件时运行,以.cpp运行它停在同一行

0 个答案:

没有答案