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

 
 
> Отладка в IAR прерывания Т0 в mega8535
Sergey83
сообщение Jul 23 2008, 08:48
Сообщение #1





Группа: Новичок
Сообщений: 14
Регистрация: 2-08-07
Пользователь №: 29 517



Подскажите убогому help.gif
Как отдебагить простенькую программку?
Задача проста - по прерыванию от переполнения таймера0 проинкрементировать переменную "i".
Проблема - не выходит в прерывание в режиме дебагер.
Компилирую и дебагю в IAR Embedded Workbench for Atmel AVR 4.12A

Может с настройками где наплужил?
Благодарен за любую помощь. beer.gif

#include <iom8535.h>
#include <inavr.h>

int i=1;
int ii=0;
int iii=0;

void timer0_init(void) //
{
TCCR0 = 0x00; //stop timer
TCNT0 = 0x17; //set count value
TCCR0 = 0x05; //start timer
}

#pragma vector = TIMER0_OVF_vect
__interrupt void timer0_ovf_isr(void)
{
TCNT0 = 0x30; //reload counter value
i++;
}
///-----------------------------------------
/////////////////////////////////////////////////////////////////////////

int main()
{
__disable_interrupt(); //disable all interrupts
timer0_init();
TIMSK = 0x01;
__enable_interrupt(); //re-enable interrupts

while(1)
{
ii++;
}
}

Сообщение отредактировал Sergey83 - Jul 23 2008, 08:49
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sergey83
сообщение Jul 23 2008, 10:06
Сообщение #2





Группа: Новичок
Сообщений: 14
Регистрация: 2-08-07
Пользователь №: 29 517



Поставил
TIMSK = 0x03;
Эфекта никакого.

в каком регистре эта фигня взводит бит

__disable_interrupt(); //disable all interrupts
__enable_interrupt(); //re-enable interrupts

Цитата(GDI @ Jul 23 2008, 13:03) *
Странно было бы, если в отладчике не работали бы прерывания. Если входа в прерывания нету, то скорее всего это прерывание просто не наступает, или вектор неправильно указан, или еще тысяча причин, но отладчик тут не при чем, это все ошибки программиста.


так помогите мне эту ошибку найти пожалста программка ведь не сложная help.gif
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 23 2008, 10:17
Сообщение #3


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Sergey83 @ Jul 23 2008, 09:06) *
в каком регистре эта фигня взводит бит
__disable_interrupt(); //disable all interrupts
__enable_interrupt(); //re-enable interrupts

В SREG, бит 7

А точно тот вектор прерывания?

Ещё вот подумал, может разрешить прерывание по переполнению и все прерывания внутри пп прерывания? Посмотрите листинг, что там компилятор натворил?


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Sergey83
сообщение Jul 23 2008, 10:22
Сообщение #4





Группа: Новичок
Сообщений: 14
Регистрация: 2-08-07
Пользователь №: 29 517



Цитата(=GM= @ Jul 23 2008, 13:17) *
А точно тот вектор прерывания?

Ещё вот подумал, может разрешить прерывание по переполнению и все прерывания внутри пп прерывания? Посмотрите листинг, что там компилятор натворил?


так а как посмотреть?

ЗЫ SREG, бит 7=1

Сообщение отредактировал Sergey83 - Jul 23 2008, 10:24
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sergey83   Отладка в IAR прерывания Т0 в mega8535   Jul 23 2008, 08:48
- - GDI   Так просмотрите по шагам, что у вас в регистры тай...   Jul 23 2008, 09:17
|- - Sergey83   Цитата(GDI @ Jul 23 2008, 12:17) Так прос...   Jul 23 2008, 09:52
- - =GM=   Цитата(Sergey83 @ Jul 23 2008, 07:48) Мож...   Jul 23 2008, 09:56
- - Sergey83   Из даташита взал 0 бит-переполнение 1 бит-сравнен...   Jul 23 2008, 10:03
|- - =GM=   Цитата(Sergey83 @ Jul 23 2008, 09:03) Мож...   Jul 23 2008, 10:08
|- - MrYuran   Цитата(=GM= @ Jul 23 2008, 14:08) Вот чёр...   Jul 23 2008, 10:22
- - GDI   ЦитатаВОПРОС - В других отладчиках прерывания рабо...   Jul 23 2008, 10:03
- - GDI   Можно отлаживаться в AVR Studio, там какой бит у к...   Jul 23 2008, 10:08
- - GDI   Кодvoid timer_init(void) { TCCR1A = 0; T...   Jul 23 2008, 10:17
|- - Sergey83   Цитата(GDI @ Jul 23 2008, 13:17) Кодvoid ...   Jul 23 2008, 10:21
- - GDI   Еще раз говорю, проверьте по шагам как там все раб...   Jul 23 2008, 10:26
|- - Sergey83   Цитата(GDI @ Jul 23 2008, 13:23) Чтобы до...   Jul 23 2008, 10:27
- - GDI   ЦитатаКак проверить работу самого таймера? Так и п...   Jul 23 2008, 10:37
|- - Sergey83   Цитата(GDI @ Jul 23 2008, 13:37) Так и пр...   Jul 23 2008, 10:47
|- - Stanislav_S   Цитата(Sergey83 @ Jul 23 2008, 15:47) теп...   Jul 23 2008, 11:05
|- - Sergey83   Цитата(Stanislav_S @ Jul 23 2008, 14:05) ...   Jul 23 2008, 11:13
|- - Stanislav_S   Цитата(Sergey83 @ Jul 23 2008, 16:13) что...   Jul 23 2008, 11:21
|- - Sergey83   Цитата(Stanislav_S @ Jul 23 2008, 14:21) ...   Jul 23 2008, 11:26
- - Sergey83   полная лажа этим отладчиком   Jul 23 2008, 11:06
|- - Stanislav_S   Цитата(Sergey83 @ Jul 23 2008, 16:06) пол...   Jul 23 2008, 11:09
- - shamray   На сколько я знаю, ИАР не симулирует переферию и с...   Jul 23 2008, 19:59


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

 


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


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