Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 调用此函数时无法编译代码_C++_Compilation_Function Call_Atmega16_Atmelstudio - Fatal编程技术网

C++ 调用此函数时无法编译代码

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,

我正在使用Atmel Studio 6.1和ANDLoad来闪存ATMega16 MCU。如果我编译代码时调用了这个函数,ANDLoad会在Flash十六进制文件359中给出错误。359行是十六进制文件末尾的第三行。若我调用的函数里面并没有代码,那个么它运行的很好,但我并没有意义。只添加一行代码会再次出现错误

我这样称呼它:

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中的错误。阿特梅尔工作室没有给我错误。我还试图使用另一个编程接口和软件,但十六进制文件已损坏,工作不正确。