Я использую Atmel Studio 6.1 и ANDLoad для прошивки MCe ATMega16. Если я скомпилирую код с помощью этой функции, ANDLoad выдаст мне «Ошибка в шестнадцатеричном файле Flash 359». 359 строка — 3-я строка из конца шестнадцатеричного файла. Если я вызываю функцию без кода внутри, она работает хорошо, но у меня нет смысла. Добавление только одной строки кода снова вызывает ошибку.
Я называю это так:
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% torquefor (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);
}
}
У кого-нибудь есть идеи, что я делаю не так? Спасибо. Дэвид
ЗАДАЧА РЕШЕНА! Название функции «Пуск» нельзя использовать. Спасибо вам за все.
Других решений пока нет …