Страница 1 из 1

Проблемы с Delay_ms в Avr Studio

Добавлено: Пт окт 28, 2011 18:49:33
Jintolin
Всем добрый вечер. У меня такая проблема: пишу программу в Avr Studio, например:

Код: Выделить всё

   #define F_CPU 1000000UL 
   #include <avr/io.h>
   #include <util/delay.h>

   #define p10 PORTD &=~_BV(5);
   #define p11 PORTD |=_BV(5);
   
      int main(void) {	
		DDRD = 0xff;
		p11;
		p10;
     }   
Компилирую, всё нормально. HEX-файл весит 349 байт. Но стоит добавить команду _delay_ms(500); вот так:

Код: Выделить всё

   #define F_CPU 1000000UL 
   #include <avr/io.h>
   #include <util/delay.h>

   #define p10 PORTD &=~_BV(5);
   #define p11 PORTD |=_BV(5);
   
      int main(void) {	
		DDRD = 0xff;
		p11;
		_delay_ms(500);
		p10;
     }   
И откомпилированный HEX весит 8,59 Кбайт.

Только, пожалуйста, не надо направлять меня на Ассемблер или WinAvr какой-нибудь :)
Заранее благодарю.

Re: Проблемы с Delay_ms в Avr Studio

Добавлено: Пт окт 28, 2011 18:56:23
Мастер Ломастер
Jintolin писал(а):Только, пожалуйста, не надо направлять меня на Ассемблер или WinAvr какой-нибудь :)
с учетом этого требования вам помочь просто невозможно, так как все вышенаписанное вы делали именно при помощи WinAVR... я мог бы вам что-то посоветовать, но раз "в WinAVR вас не направлять" - не имею права... :?

Re: Проблемы с Delay_ms в Avr Studio

Добавлено: Пт окт 28, 2011 19:09:14
Jintolin
Так, значит, я понимаю ещё меньше чем думал. :( Надо перечитать про весь этот софт.
Но, всё же, как исправить проблему с размером?

Re: Проблемы с Delay_ms в Avr Studio

Добавлено: Пт окт 28, 2011 19:27:13
Мастер Ломастер
Jintolin писал(а):Так, значит, я понимаю ещё меньше чем думал. :( Надо перечитать про весь этот софт.
Но, всё же, как исправить проблему с размером?
включить оптимизацию

Re: Проблемы с Delay_ms в Avr Studio

Добавлено: Пт окт 28, 2011 19:49:09
Dotoro22
Ну как бы в первом варианте delay инклудится но в программе не используется
а во втором используется, а размер скорее всего изза того что компилируется в debug варианте
попробуйте в release.

Re: Проблемы с Delay_ms в Avr Studio

Добавлено: Пт окт 28, 2011 22:56:19
Jintolin
Уже попробовал. Действительно релиз вариант - всё нормально. Странно как-то. Спасибо, ребят, пойду дальше созидать :)