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

 
 
> Некорректно считывается TCNT1, ATmega168
OlegALL
сообщение Jan 16 2014, 11:50
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 30-11-10
Пользователь №: 61 275



Привет.
Проблема: неправильно считывается значение счётного регистра (TCNT1, ATmega168)

описание и код здесь: http://caxapa.ru/480467.html

помогите, горит проект! заранее спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ILYAUL
сообщение Jan 17 2014, 18:49
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Тут у всех английский родной язык. Вы попробуйте по-русски написать , что Вы хотели этим сказать применительно к коду TC. Или просто поболтать вышли.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
HNK0
сообщение Jan 18 2014, 21:32
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 23-07-09
Пользователь №: 51 509



Цитата(ILYAUL @ Jan 17 2014, 15:49) *
Тут у всех английский родной язык. Вы попробуйте по-русски написать , что Вы хотели этим сказать применительно к коду TC. Или просто поболтать вышли.

Я извиняюсь, невнимательно просмотрел код.

В AVR Studio симуляторе этот код правильно работает.

CODE
#include <avr\io.h>
#include <avr\interrupt.h>

#define _200us 182
#define _12ms 10909

#define DIR_1 0
#define DIR_2 1

#define STROB PC2
#define D1 PC3


void initia(void);

unsigned char answer[4];
unsigned short a;
unsigned short main(void)
{
cli();
initia();
sei();

a = 0;

while (1) {
a++;
}
return 0;
}

void initia(void)
{

DDRC |= 1<<DDC0 | 1<<DDC1 | 1<<DDC2 | 1<<DDC3 | 1<<DDC4;
PORTC |= 1<<PC3;

PORTC &= ~(1<<STROB);
PORTC |= 1<<D1;

DDRD &= ~(1<<DDD0 | 1<<DDD3);
DDRD |= 1<<DDD1 | 1<<DDD2;

TIMSK1 |= 1<<OCIE1A | 1<<OCIE1B;

OCR1A = _200us;
OCR1B = _12ms;
TCCR1B |= 1<<CS11;

UBRR0 = 7;
UCSR0B |= 1<<RXEN0 | 1<<RXCIE0 | 1<<TXEN0;

}

ISR(TIMER1_COMPB_vect)
{

answer[0] = TCNT1L;
answer[1] = TCNT1H;

PORTC &= ~(1<<STROB);
PORTC |= 1<<D1;

TCNT1H = 0;
TCNT1L = 0;
}


Сообщение отредактировал IgorKossak - Jan 19 2014, 15:59
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 07:13
Рейтинг@Mail.ru


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