|
Winavr сокращает функцию, если переменные размещены в регистрах |
|
|
|
Jun 10 2008, 11:54
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 4-02-08
Из: Винница
Пользователь №: 34 732

|
Помогите разобраться с WINAVR. При размещении переменных в регистрах компилятор ведёт себя подозрительно: сокращает функции, в которых они используются.  Но при обычном объявлении всё работает. Подскажите, где может быть ошибка? Код #include <avr/io.h> #include <avr/interrupt.h> volatile register unsigned long count_ms asm("r4"); volatile register unsigned char flag_ms asm("r8"); ///////////////////////////////////////////////////////////////////////////////////////////////// void timer_ms(unsigned long value) { count_ms = value; flag_ms = 0; while(flag_ms == 0); } ///////////////////////////////////////////////////////////////////////////////////////////////// ISR(TIM0_COMPA_vect) { if(count_ms){--count_ms;} else{flag_ms = 1;} } ///////////////////////////////////////////////////////////////////////////////////////////////// int main(void) { TCCR0A = (0<<COM0A1)|(0<<COM0A0)|(0<<COM0B1)|(0<<COM0B0)|(1<<WGM01)|(0<<WGM00); //CTC TCCR0B = (0<<FOC0A)|(0<<FOC0B)|(0<<WGM02)|(0<<CS02)|(1<<CS01)|(0<<CS00); // FCPU/8 OCR0A = 149; TIMSK0 = (0<<OCIE0B)|(1<<OCIE0A)|(0<<TOIE0); sei(); while(1){ timer_ms(100); PORTB ^= 0x01; } }
|
|
|
|
Сообщений в этой теме
A.l.e.x. Winavr сокращает функцию Jun 10 2008, 11:54 aesok Регистровые volatile переменные в GCC не работают.... Jun 10 2008, 12:15 A.l.e.x. Цитата(aesok @ Jun 10 2008, 15:15) Регист... Jun 10 2008, 12:36  dimka76 Цитата(A.l.e.x. @ Jun 10 2008, 15:36) И к... Jun 10 2008, 12:55   A.l.e.x. Цитата(dimka76 @ Jun 10 2008, 15:55) Испо... Jun 10 2008, 14:02    singlskv Цитата(A.l.e.x. @ Jun 10 2008, 18:02) Ско... Jun 10 2008, 14:06     A.l.e.x. Цитата(singlskv @ Jun 10 2008, 17:06) А к... Jun 10 2008, 14:33     aesok Цитата(singlskv @ Jun 10 2008, 18:06) А к... Jun 10 2008, 16:28      singlskv Цитата(aesok @ Jun 10 2008, 20:28) Все ве... Jun 10 2008, 17:44       AHTOXA Цитата(singlskv @ Jun 10 2008, 23:44) Мож... Jun 10 2008, 18:12        alx2 Цитата(AHTOXA @ Jun 10 2008, 23:12) и так... Jun 10 2008, 19:32         AHTOXA Цитата(alx2 @ Jun 11 2008, 01:32) gcc-4.2... Jun 11 2008, 12:33          singlskv Цитата(AHTOXA @ Jun 11 2008, 16:33) Стран... Jun 11 2008, 13:54           AHTOXA Цитата(singlskv @ Jun 11 2008, 19:54) Это... Jun 11 2008, 17:44            singlskv Цитата(AHTOXA @ Jun 11 2008, 21:44) Это б... Jun 11 2008, 18:48             aesok Второй раз повторяю, GCC не поддерживает volatile ... Jun 11 2008, 19:04              singlskv Цитата(aesok @ Jun 11 2008, 23:04) Второй... Jun 11 2008, 19:33               aesok Цитата(singlskv @ Jun 11 2008, 23:23) Но ... Jun 11 2008, 19:47                singlskv Цитата(aesok @ Jun 11 2008, 23:47) GCC не... Jun 11 2008, 20:13               aesok Цитата(singlskv @ Jun 11 2008, 23:33) Ну ... Jun 11 2008, 20:57                singlskv Цитата(aesok @ Jun 12 2008, 00:39) Только... Jun 11 2008, 21:15                 aesok Цитата(singlskv @ Jun 12 2008, 01:15) а н... Jun 11 2008, 22:08                  singlskv Цитата(aesok @ Jun 12 2008, 01:43) Все ва... Jun 11 2008, 22:21          alx2 Цитата(AHTOXA @ Jun 11 2008, 17:33) Стран... Jun 12 2008, 11:50           singlskv Цитата(alx2 @ Jun 12 2008, 15:50) Я компи... Jun 12 2008, 12:22            alx2 Цитата(singlskv @ Jun 12 2008, 17:22) ИТО... Jun 12 2008, 20:51            aesok сори, ошибочный пост Jun 15 2008, 14:34  singlskv Цитата(A.l.e.x. @ Jun 10 2008, 16:36) И к... Jun 10 2008, 13:59  Сергей Борщ Цитата(A.l.e.x. @ Jun 10 2008, 15:36) И к... Jun 10 2008, 14:19   A.l.e.x. Цитата(Сергей Борщ @ Jun 10 2008, 17:19) ... Jun 11 2008, 06:39    Сергей Борщ Цитата(A.l.e.x. @ Jun 11 2008, 09:39) Мож... Jun 11 2008, 14:54     A.l.e.x. Цитата(Сергей Борщ @ Jun 11 2008, 17:54) ... Jun 11 2008, 15:41      Сергей Борщ Цитата(A.l.e.x. @ Jun 11 2008, 18:41) Я и... Jun 11 2008, 16:48       A.l.e.x. Цитата(Сергей Борщ @ Jun 11 2008, 19:48) ... Jun 12 2008, 06:21 mdmitry Разные версии WinAvr разрешают располагать регистр... Jun 11 2008, 16:37 _Pasha Тоже хотел недавно "поджать" компилер в ... Jun 12 2008, 05:36 AHTOXA Цитата(alx2 @ Jun 12 2008, 17:50) Я компи... Jun 12 2008, 18:20 singlskv Цитата(AHTOXA @ Jun 12 2008, 22:20) А я к... Jun 12 2008, 19:04
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|