Я работаю с этой платой прототипа 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;
}
}
Вылетает в файле LPC2300.s на SWI_Handler B SWI_Handler (строка 624)
Кто-нибудь знает, как решить эту проблему
Кейл говорит мне, что в программе 0 ошибок и 0 предупреждений. И эта программа началась. но когда я смотрю с помощью инструмента отладки, я вижу, что программа всегда останавливается на этой строке
Редактировать я забыл добавить MCB Asseatieboard.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;
}
редактировать
Как предположил Барак Манос, это как-то связано с настройками c ++
если я запускаю код, который работает, когда он сохраняется как файл .c, запускается как .cpp, он останавливается на той же строке
Задача ещё не решена.