C++ keil mcb2300不来main
我正在使用这个原型板。我在Keil uVision4.7中编程,但问题是我的程序没有达到主功能 当我运行这个程序时,它很好C++ keil mcb2300不来main,c++,arm,keil,C++,Arm,Keil,我正在使用这个原型板。我在Keil uVision4.7中编程,但问题是我的程序没有达到主功能 当我运行这个程序时,它很好 /* ******************** Workshop 1 -- Exercise 2 **************************/ #include <stdio.h> // standard C definitions #include "MCB2300 evaluatieboard.h" // hardware related
/* ******************** 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]);
}
}
编辑
正如巴拉克MaOS建议的,它与C++设置有关。
如果我运行保存为.c文件时有效的代码,运行为.cpp时它会停在同一行这里的函数
main
中显然缺少一些代码(例如,什么是led
)。。。所以我有点想知道-还有什么你没有告诉我们的吗?可能是此函数之外的全局对象?注释2:通常当cpp程序在到达main
之前崩溃时,它是在全局对象初始化期间,与普通变量相反,全局对象由其类构造函数初始化(即在main
之前调用的函数)。此外,还可能有一个由编译器添加的\uuuu init\uuu
函数(取决于手头的CPU)。所以你可能也想调查一下。最后,检查你的项目设置,特别是C++设置。
#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;
}
}
#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
#include "MCB2300 evaluatieboard.h"
void initEvaluationBoard(void)
{
PINSEL10 = 0; // Disable ETM interface, enable LEDs
FIO2DIR0 = 0xFF;
PINMODE4 = 0x0020AAAA;
}