реклама на сайте
подробности

 
 
> Мой первый блин), Перехожу на Си
novlev
сообщение Oct 6 2009, 13:08
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 116
Регистрация: 24-09-06
Пользователь №: 20 645



CODE
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/wdt.h>
volatile int i = 0;
int main()
{
PORTE = 0x01;
DDRE = 0x7F;

wdt_disable();


TCNT0 = 0x00;
TCCR0A = 0;
TCCR0B = 3;
TIFR0 = 0;
TIMSK0 = 0x01;
sei();
//cli();
while (1)
{

if (PORTK == 255)
PORTK = 0;
else
PORTK++;

}
}


ISR(TIMER0_OVF_vect)
{
//TCNT0 = 0x00;

if(i++ == 0xFF55)
{
PORTE ^= 0x01;
i = 0;
}
}


Суть проблемы - прерывание срабатывает, но на ноге порта Е никаких изменений, а если убрать условие (if) то все норм. Чиво не так сделал?
Заранее спасибо.
Причина редактирования: Нарушение правил цитирования исходников.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
novlev
сообщение Oct 6 2009, 14:16
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 116
Регистрация: 24-09-06
Пользователь №: 20 645



вот листинг, прикрепить файл не получилось.
CODE
tst_gcc.elf: file format elf32-avr

Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000001a8 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .bss 00000001 00800200 00800200 0000021c 2**0
ALLOC

Disassembly of section .text:

00000000 <__vectors>:
0: 0c 94 72 00 jmp 0xe4; 0xe4 <__ctors_end>
4: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
8: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
c: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
10: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
14: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
18: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
1c: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
20: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
24: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
28: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
2c: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
30: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
34: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
38: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
3c: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
40: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
44: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
48: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
4c: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
50: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
54: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
58: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
5c: 0c 94 bb 00 jmp 0x176; 0x176 <__vector_23>
60: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
64: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
68: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
6c: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
70: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
74: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
78: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
7c: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
80: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
84: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
88: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
8c: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
90: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
94: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
98: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
9c: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
a0: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
a4: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
a8: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
ac: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
b0: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
b4: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
b8: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
bc: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
c0: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
c4: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
c8: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
cc: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
d0: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
d4: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
d8: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
dc: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>
e0: 0c 94 84 00 jmp 0x108; 0x108 <__bad_interrupt>

000000e4 <__ctors_end>:
e4: 11 24 eor r1, r1
e6: 1f be out 0x3f, r1; 63
e8: cf ef ldi r28, 0xFF; 255
ea: d1 e2 ldi r29, 0x21; 33
ec: de bf out 0x3e, r29; 62
ee: cd bf out 0x3d, r28; 61

000000f0 <__do_clear_bss>:
f0: 12 e0 ldi r17, 0x02; 2
f2: a0 e0 ldi r26, 0x00; 0
f4: b2 e0 ldi r27, 0x02; 2
f6: 01 c0 rjmp .+2 ; 0xfa <.do_clear_bss_start>

000000f8 <.do_clear_bss_loop>:
f8: 1d 92 st X+, r1

000000fa <.do_clear_bss_start>:
fa: a1 30 cpi r26, 0x01; 1
fc: b1 07 cpc r27, r17
fe: e1 f7 brne .-8 ; 0xf8 <.do_clear_bss_loop>
100: 0e 94 86 00 call 0x10c; 0x10c <main>
104: 0c 94 d2 00 jmp 0x1a4; 0x1a4 <_exit>

00000108 <__bad_interrupt>:
108: 0c 94 00 00 jmp 0; 0x0 <__vectors>

0000010c <main>:
10c: df 93 push r29
10e: cf 93 push r28
110: cd b7 in r28, 0x3d; 61
112: de b7 in r29, 0x3e; 62
114: ee e2 ldi r30, 0x2E; 46
116: f0 e0 ldi r31, 0x00; 0
118: 81 e0 ldi r24, 0x01; 1
11a: 80 83 st Z, r24
11c: ed e2 ldi r30, 0x2D; 45
11e: f0 e0 ldi r31, 0x00; 0
120: 8f e7 ldi r24, 0x7F; 127
122: 80 83 st Z, r24
124: 88 e1 ldi r24, 0x18; 24
126: 0f b6 in r0, 0x3f; 63
128: f8 94 cli
12a: 80 93 60 00 sts 0x0060, r24
12e: 10 92 60 00 sts 0x0060, r1
132: 0f be out 0x3f, r0; 63
134: e6 e4 ldi r30, 0x46; 70
136: f0 e0 ldi r31, 0x00; 0
138: 10 82 st Z, r1
13a: e4 e4 ldi r30, 0x44; 68
13c: f0 e0 ldi r31, 0x00; 0
13e: 10 82 st Z, r1
140: e5 e4 ldi r30, 0x45; 69
142: f0 e0 ldi r31, 0x00; 0
144: 85 e0 ldi r24, 0x05; 5
146: 80 83 st Z, r24
148: e5 e3 ldi r30, 0x35; 53
14a: f0 e0 ldi r31, 0x00; 0
14c: 10 82 st Z, r1
14e: ee e6 ldi r30, 0x6E; 110
150: f0 e0 ldi r31, 0x00; 0
152: 81 e0 ldi r24, 0x01; 1
154: 80 83 st Z, r24
156: 78 94 sei
158: e8 e0 ldi r30, 0x08; 8
15a: f1 e0 ldi r31, 0x01; 1
15c: 80 81 ld r24, Z
15e: 8f 3f cpi r24, 0xFF; 255
160: 21 f4 brne .+8 ; 0x16a <main+0x5e>
162: e8 e0 ldi r30, 0x08; 8
164: f1 e0 ldi r31, 0x01; 1
166: 10 82 st Z, r1
168: f7 cf rjmp .-18 ; 0x158 <main+0x4c>
16a: e8 e0 ldi r30, 0x08; 8
16c: f1 e0 ldi r31, 0x01; 1
16e: 80 81 ld r24, Z
170: 8f 5f subi r24, 0xFF; 255
172: 80 83 st Z, r24
174: f1 cf rjmp .-30 ; 0x158 <main+0x4c>

00000176 <__vector_23>:
176: 1f 92 push r1
178: 0f 92 push r0
17a: 0f b6 in r0, 0x3f; 63
17c: 0f 92 push r0
17e: 11 24 eor r1, r1
180: 8f 93 push r24
182: df 93 push r29
184: cf 93 push r28
186: cd b7 in r28, 0x3d; 61
188: de b7 in r29, 0x3e; 62
18a: 80 91 00 02 lds r24, 0x0200
18e: 8f 5f subi r24, 0xFF; 255
190: 80 93 00 02 sts 0x0200, r24
194: cf 91 pop r28
196: df 91 pop r29
198: 8f 91 pop r24
19a: 0f 90 pop r0
19c: 0f be out 0x3f, r0; 63
19e: 0f 90 pop r0
1a0: 1f 90 pop r1
1a2: 18 95 reti

000001a4 <_exit>:
1a4: f8 94 cli

000001a6 <__stop_program>:
1a6: ff cf rjmp .-2 ; 0x1a6 <__stop_program>


Перебрал все типы данных, по логике оставил unsigned short int, результата нет
Причина редактирования: Нарушение п.3.4 правил форума.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- novlev   Мой первый блин)   Oct 6 2009, 13:08
- - OLEG_BOS   Цитата(novlev @ Oct 6 2009, 16:08) Чиво н...   Oct 6 2009, 13:41
- - novlev   static unsigned int i = 0; // i - и...   Oct 6 2009, 13:53
|- - Костян   Цитата(novlev @ Oct 6 2009, 12:53) static...   Oct 6 2009, 13:58
|- - Ledmaster   Смысл не в том, где объявлять i, а в том, что она ...   Oct 6 2009, 14:04
|- - OLEG_BOS   Цитата(Ledmaster @ Oct 6 2009, 17:04) Смы...   Oct 6 2009, 14:19
- - _Pasha   Цитата(novlev @ Oct 6 2009, 16:08) Суть п...   Oct 6 2009, 13:57
- - novlev   Вот дизасм - CODE+00000072: 2411 CLR R1 ...   Oct 6 2009, 14:02
- - _Pasha   нужен не дизасм, а *.lss   Oct 6 2009, 14:07
- - _Pasha   Код18a: 80 91 00 02 lds r24, 0x0200 18e: ...   Oct 6 2009, 14:24
- - novlev   Кто такой этот "00000108 <__bad_interrupt...   Oct 6 2009, 14:27
|- - _Pasha   Цитата(novlev @ Oct 6 2009, 17:27) Кто та...   Oct 6 2009, 14:30
- - novlev   Кодunsigned char i = 0x00; ISR(TIMER0_OVF_vect...   Oct 6 2009, 14:32
|- - _Pasha   Цитата(novlev @ Oct 6 2009, 17:32) и так ...   Oct 6 2009, 14:37
||- - novlev   Цитата(_Pasha @ Oct 6 2009, 17:37) Объяви...   Oct 6 2009, 14:48
||- - OLEG_BOS   Цитата(novlev @ Oct 6 2009, 17:48) Послед...   Oct 6 2009, 15:16
||- - novlev   Цитата(OLEG_BOS @ Oct 6 2009, 18:16) ОFFT...   Oct 6 2009, 17:48
|- - Ledmaster   А так? Кодunsigned char i = 0x00; ISR(TIMER0_O...   Oct 6 2009, 14:43
- - INT1   Я конечно не спец по Си , но чегото бросилось в гл...   Oct 6 2009, 18:31
|- - novlev   Цитата(INT1 @ Oct 6 2009, 21:31) Я конечн...   Oct 6 2009, 18:46
- - INT1   Насколько помнится операции над портом (если мы го...   Oct 6 2009, 19:08
|- - novlev   Цитата(INT1 @ Oct 6 2009, 22:08) наскольк...   Oct 6 2009, 19:43
- - 314   Попробовал Ваш пример на отладчике в AVR Studio, т...   Oct 6 2009, 20:02
- - novlev   Да, более того, статическая переменная действитель...   Oct 6 2009, 20:55
- - singlskv   Цитата(novlev @ Oct 6 2009, 17:08) CODE ...   Oct 6 2009, 21:41
- - novlev   Кодif (PORTK == 255) PORTK = 0; else PORTK...   Oct 6 2009, 21:46
|- - dimka76   Цитата(novlev @ Oct 7 2009, 01:46) Предме...   Oct 7 2009, 06:13
- - 314   Как-то это все больше смахивает на какие-то внешни...   Oct 7 2009, 05:49
|- - novlev   Цитата(314 @ Oct 7 2009, 08:49) И наверно...   Oct 7 2009, 06:04
|- - novlev   Цитата(314 @ Oct 7 2009, 08:49) Вот Вам е...   Oct 7 2009, 07:31
- - novlev   Всем доброго времени суток, подскажите в чем подво...   Oct 15 2009, 10:24
|- - Палыч   Цитата(novlev @ Oct 15 2009, 13:24) но в ...   Oct 15 2009, 10:44
- - novlev   Спасибо, пока оставлю так. Есть еще один вопрос, ч...   Oct 15 2009, 11:04
|- - Палыч   Цитата(novlev @ Oct 15 2009, 14:04) что о...   Oct 15 2009, 11:12
|- - novlev   Цитата(Палыч @ Oct 15 2009, 14:12) Выполн...   Oct 15 2009, 11:24
- - novlev   Снова я) Слолкнулся со следующей ситуацией - пишу ...   Oct 16 2009, 12:11
|- - novlev   Для перезаписи программы, код обязательно располаг...   Oct 19 2009, 07:01
- - novlev   Подскажите пожалуйста, после записи программы с ад...   Oct 19 2009, 11:28
- - novlev   приветствую всех! Вопрос - как разместить по к...   Dec 4 2009, 11:01
|- - novlev   Пробовал на асме, - указывал адрес один, а располо...   Dec 4 2009, 12:09
|- - mempfis_   Цитата(novlev @ Dec 4 2009, 15:01) привет...   Dec 4 2009, 12:23
- - SasaVitebsk   Так это - стандартно uint8_t const __flash str_q[...   Dec 4 2009, 12:38
- - novlev   Это не совсем программное требование, простоя горо...   Dec 4 2009, 12:41
- - novlev   Понял, это наверное в IAR-е @0x2 такой синтаксис, ...   Dec 4 2009, 14:20
- - SysRq   http://www.nongnu.org/avr-libc/user-manual...#faq_...   Dec 4 2009, 16:36
- - novlev   Спасибо, я таким образом указывал адрес для кода п...   Dec 11 2009, 12:31
|- - SysRq   Цитата(novlev @ Dec 11 2009, 15:31) А как...   Dec 11 2009, 13:35
- - novlev   Спасибо, получилось. В программе это выглядит след...   Dec 11 2009, 13:41
- - SysRq   Если:Цитата(novlev @ Dec 11 2009, 16:41) ...   Dec 11 2009, 14:51
- - novlev   А учитываются только 4 младших, в хексе больше и н...   Dec 14 2009, 06:13
|- - Сергей Борщ   Цитата(novlev @ Dec 14 2009, 08:13) А учи...   Dec 14 2009, 07:55
- - novlev   Я просто пользовался описанием из pdf на контролле...   Dec 14 2009, 11:49
|- - Сергей Борщ   Цитата(novlev @ Dec 14 2009, 13:49) Так а...   Dec 14 2009, 13:08
|- - novlev   Цитата(Сергей Борщ @ Dec 14 2009, 16:08) ...   Dec 14 2009, 13:46
|- - Сергей Борщ   Цитата(novlev @ Dec 14 2009, 15:46) А мож...   Dec 14 2009, 13:58
- - novlev   Столкнулся со следующей особенностью программы PON...   Jan 11 2010, 13:23
- - uriy   Хоть бы написали как это проявляется   Jan 11 2010, 13:39
- - novlev   Проявлялось забавно - Это если вбить -Wl,--sectio...   Jan 11 2010, 14:38


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 15:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016