C++ 调用此函数时无法编译代码
我正在使用Atmel Studio 6.1和ANDLoad来闪存ATMega16 MCU。如果我编译代码时调用了这个函数,ANDLoad会在Flash十六进制文件359中给出错误。359行是十六进制文件末尾的第三行。若我调用的函数里面并没有代码,那个么它运行的很好,但我并没有意义。只添加一行代码会再次出现错误 我这样称呼它:C++ 调用此函数时无法编译代码,c++,compilation,function-call,atmega16,atmelstudio,C++,Compilation,Function Call,Atmega16,Atmelstudio,我正在使用Atmel Studio 6.1和ANDLoad来闪存ATMega16 MCU。如果我编译代码时调用了这个函数,ANDLoad会在Flash十六进制文件359中给出错误。359行是十六进制文件末尾的第三行。若我调用的函数里面并没有代码,那个么它运行的很好,但我并没有意义。只添加一行代码会再次出现错误 我这样称呼它: start(maxSpeed, 0, speed_1); //function call //CODE// void start (uint8_t maxSpeeda,
start(maxSpeed, 0, speed_1); //function call
//CODE//
void start (uint8_t maxSpeeda, uint8_t dir,uint8_t speed){
uint8_t ii=0;
if (dir==1)
setbit(PORTD,6);
else if (dir==0)
clrbit(PORTD,6);
OCR1A = 0xFFFF; //set low frequency of PWM
TCCR1A |= ( (0<<COM1A1) | (1<<COM1A0) ); //PWM generator ON
tqOFF(); //Enable 100% torque
for (ii=0; ii<maxSpeeda; ii++){ //linear start of stepper motor
OCR1A = tab[ii]; // Tab of 16-b OCR1A values for linear start
_delay_ms(speed);
}
}
有人知道我做错了什么吗?非常感谢。大卫问题解决了!无法使用函数名start。谢谢大家。也许您的代码太大了,或者达到了其他限制?在任何情况下,如果没有代码、环境的详细信息,以及可能对工具的访问,我们都不太可能知道发生了什么。它给出的唯一错误是编程软件和加载生成的闪存十六进制文件359中的错误。阿特梅尔工作室没有给我错误。我还试图使用另一个编程接口和软件,但十六进制文件已损坏,工作不正确。