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

 
 
> Прерывание по таймеру - поможите, после срабатывания прерывания возврат не на то место
dedded
сообщение Apr 25 2007, 07:45
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 35
Регистрация: 28-01-06
Из: Ванино
Пользователь №: 13 712



Ребят, в большом проекте попался кусок, над которым я уже туплю. Среда CVAVR 1.25. Нужно выдать на ногу, неважно какую, количество импульсов, с определенной частотой. После обработки прерывания по таймеру, где меняется сигнал на ноге, возвращается тупо не туда, где прерывание прервало работу проги.

#include <mega16.h>
#include <stdio.h>
#include <delay.h>


long int step_kol;
int step;


interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=step // загрузили константу
step_kol++; //счетчик количества шагов
PORTC.0^=1; // дернули ногой

}

void main(void){

// уже не до красоты - переписал, чтобы понятно было порт С - выход

DDRC = 255;
PORTC = 0;

TIMSK=0x3;

#asm("sei")

while(1){


было
step=0x100; //константа для задания частоты
поправил, это просто описка
step=0x10;


TCCR0 = 0x00; //stop
TCNT0 = step; //set count
TCCR0 = 0x05; //start timer с предделителем на 1024


while (step_kol<1000){ //жду, когда в таймере пройдет 1000 циклов
#asm("wdr");
}
step_kol=0;
delay_ms(5000); сюда не доходит
}
}

кусок выдрал аккуратно вроде, точнее заново оформил
что же я не так делаю?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dedded   Прерывание по таймеру - поможите   Apr 25 2007, 07:45
- - arttab   перед заносом в TCNT0 таймер не остановлен. это мо...   Apr 25 2007, 08:56
|- - Валентиныч   Цитата(arttab @ Apr 25 2007, 11:56) перед...   Apr 25 2007, 09:38
- - GDI   Кусок кода приведенный автором написан криво, очен...   Apr 25 2007, 10:21
|- - Snaky   Цитата(GDI @ Apr 25 2007, 13:21) 3) далее...   Apr 25 2007, 10:48
- - tag   Цитата(dedded @ Apr 25 2007, 07:45) кусок...   Apr 25 2007, 10:27
- - dedded   Отвечу сразу всем: написано действительно криво, п...   Apr 25 2007, 11:28
|- - Валентиныч   Цитата(dedded @ Apr 25 2007, 14:28) Глупы...   Apr 25 2007, 11:31
|- - dedded   Цитата(Валентиныч @ Apr 25 2007, 19:31) Н...   Apr 25 2007, 11:54
- - GDI   step все равно лучше сделать char или const char и...   Apr 25 2007, 12:02
|- - dedded   Цитата(GDI @ Apr 25 2007, 20:02) step все...   Apr 25 2007, 12:15
|- - aesok   Проанализируйте окошко "Call stack" и во...   Apr 25 2007, 12:33
|- - dedded   Цитата(aesok @ Apr 25 2007, 20:33) Проана...   Apr 25 2007, 12:52
|- - Сергей Борщ   Цитата(dedded @ Apr 25 2007, 11:52) TIMSK...   Apr 25 2007, 15:13
|- - dedded   Цитата(Сергей Борщ @ Apr 25 2007, 23:13) ...   Apr 25 2007, 16:15
- - GDI   TCCR0 = 0x00; //stop TCNT0 = step; //set count TCC...   Apr 25 2007, 12:57
- - dedded   Цитата(GDI @ Apr 25 2007, 20:57) TCCR0 = ...   Apr 25 2007, 13:08


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

 


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


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