【问题标题】:Can not compile code when i call this function调用此函数时无法编译代码
【发布时间】:2025-11-22 06:05:01
【问题描述】:

我正在使用 Atmel Studio 6.1 和 ANDLoad 来刷新 ATMega16 MCU。如果我用这个调用的函数编译代码,ANDLoad 会给我“Flash Hex 文件 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);                       
}

}

有人知道我做错了什么吗?谢谢你。大卫

【问题讨论】:

  • 也许您的代码变得太大或达到了其他限制?在任何情况下,如果没有代码、环境详细信息以及可能无法访问工具,我们非常不太可能了解发生了什么。
  • 它给出的唯一错误是编程软件ANDLoad生成的“Flash Hex File 359中的错误”。 Atmel Studio 没有给我任何错误。我也尝试使用其他编程接口和软件,但 HEX 文件已损坏且无法正常工作。

标签: c++ compilation function-call atmega16 atmelstudio


【解决方案1】:

问题已解决!函数名“start”不能使用。谢谢大家。

【讨论】:

    最近更新 更多