Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 30.03.2010, 21:55  
begun
Гражданин KAZUS.RU
 
Регистрация: 18.07.2006
Сообщений: 874
Сказал спасибо: 234
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

Друзья!
Да ,прав alexgap, поспешил, признаюся ,ведь неудобно столько спрашивать. Думаешь дальше сам
а там новые вопросительные знаки.
Я сейчас в процессе обработки полученной от Вас информации .Подаспела новая информация
alexgap -а по поводу граблей.
Разъяснения ilya_sh тоже очень поучительные. Я так и воспринял все это после ссылки Saadov -а.
Хочется поскарее дайти до конца и наконец укратить "секундного коня".
Я не ожидал что будет продолжение темы и сцелью еще раз перечитать прошолся по ветке и до чего было моя радость ,когда увидел строки друзей догадавшихся ,что чего то еще не хвотает и желавщих довести тему до полного уяснения.
Спасибо за приятнейшие минуты общения вселявшихся в меня оптимизм ,что Я не один лицом к лицу с AVR -ом и ,что все будет хорошо.
С вашего позволения буду сообщать о своих действиях.
Спасибо.
Реклама:
begun вне форума  
Непрочитано 31.03.2010, 22:06  
begun
Гражданин KAZUS.RU
 
Регистрация: 18.07.2006
Сообщений: 874
Сказал спасибо: 234
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

мда--а,
неудача,
вроде все сделал правильно ,в прерывании для timer 2 вписываю код
для счета секунд ,но оно не идет
#include ‹mega8.h›
int a;
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
#include ‹lcd.h›

// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{

a++;
if(a==0x0A)
f=0;
lcd_gotoxy(6,0);
lcd_putchar(48+a);

}
void main(void)
{
}
----
---
на экране стоит нуль и все, а когда из кода вынимаю строки
if(a==0x0A)
f=0;
то идет возрастающий счет .
Почему так, непонятно .
begun вне форума  
Непрочитано 31.03.2010, 22:19  
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

А настройки таймера почему не привели???
Или выложите полностью проект в архиве...
Saadov вне форума  
Непрочитано 01.04.2010, 00:03  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

Сообщение от begun Посмотреть сообщение
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
Кхе, кхе. Вы не то прерывание используете. Нужно прерывание сравнения, а у вас прерывание на переполнение. Я бы вам советовал закинуть подальше генератор кода из кодвижена, иначе мало чего добьетесь. Читайте даташит на микроконтроллер и инициализируйте его понимая суть процесса.

Ну и если хотите чтобы вам помогли с ошибкой то нужно выкладывать полный код, который ее вызывает.
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
alexgap вне форума  
Непрочитано 01.04.2010, 00:49  
begun
Гражданин KAZUS.RU
 
Регистрация: 18.07.2006
Сообщений: 874
Сказал спасибо: 234
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: отработка секундного импульса на AVR

вот полностью , на знаю почему не должна таботать?
/************************************************** ***



Chip type : ATmega8
Program type : Application
Clock frequency : 4,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
************************************************** ***/

#include ‹mega8.h›
int a;
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
#include ‹lcd.h›

// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
a++;
if(a==0x0A)
a=0;
lcd_gotoxy(6,0);
lcd_putchar(48+a);

}



void main(void)
{

PORTB=0xFF;
DDRB=0xC8;


PORTC=0x00;
DDRC=0x3F;


PORTD=0x00;
DDRD=0xFF;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 4000,000 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x01;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: TOSC1 pin
// Clock value: PCK2/128
// Mode: Normal top=FFh
// OC2 output: Set on compare match
ASSR=0x08;
TCCR2=0x35;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x40;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// LCD module initialization
lcd_init(16);

// Global enable interrupts
#asm("sei")
lcd_gotoxy(6,0);
lcd_putchar(4;
while (1)
{

};
}
begun вне форума  
Непрочитано 01.04.2010, 08:43  
ilya_sh
Прописка
 
Регистрация: 09.10.2007
Сообщений: 235
Сказал спасибо: 27
Сказали Спасибо 24 раз(а) в 24 сообщении(ях)
ilya_sh на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

Сообщение от begun Посмотреть сообщение
// Timer/Counter 2 initialization
// Clock source: TOSC1 pin
// Clock value: PCK2/128
// Mode: Normal top=FFh
// OC2 output: Set on compare match
ASSR=0x08;
TCCR2=0x35;
TCNT2=0x00;
OCR2=0x00;
Разбираем. Всё верно. Только не понятно, зачем устанавливать флаг сравнения и обнулять OCR2, если само сравнение отключено? Мож для каких-то нужд...
Прескалер на 128. Запитан от внешнего кварца.
Теперь считаем: 32768/128/256=1
То есть, прерывание будет инициироваться каждую секунду!
Цитата:
// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
a++;
if(a==0x0A)
a=0;
lcd_gotoxy(6,0);
lcd_putchar(48+a);

}
Возможно "а" не инициализируется в ноль.
Вообще, лучще выполнять сравнение для надежности:
if((a‹0)|(a›0x09)) a=0;
lcd_gotoxy(6,0);
lcd_putchar(48+a);
Хотя, если висит ноль на экране, то по идее "а" постоянно обнуляется.
Может лучше условие в одну строчку записать, как показано выше?

Последний раз редактировалось ilya_sh; 01.04.2010 в 09:06.
ilya_sh вне форума  
Непрочитано 01.04.2010, 10:20  
begun
Гражданин KAZUS.RU
 
Регистрация: 18.07.2006
Сообщений: 874
Сказал спасибо: 234
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

ilya_sh,
Чудеса!
Вчера вечером не работал приведенный мною код.
Сегодня утром перед работой посмотрел Ваш материал, хотел вставить
сравнение и на всякий случай еще раз запустил симмуляйию и все заработала как положено ,может вирусы мешали и после перегрйзки
пошло??????
Значит все уже правильно ,и у меня будет четкий интервал секунд?
а в промежутке между секундами, в прерывании, могу сделать все что захочу?
т.е. получается ,что у меня есть возможность не портить точный секундный интервал и сделать 1сек=1000000мксек операцию между секундами??
begun вне форума  
Непрочитано 01.04.2010, 10:23  
ish0
Прописка
 
Регистрация: 09.08.2006
Сообщений: 198
Сказал спасибо: 14
Сказали Спасибо 27 раз(а) в 20 сообщении(ях)
ish0 на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

Выложите проект целиком. Очень интересно глянуть в .asm файл.
ish0 вне форума  
Непрочитано 01.04.2010, 10:39  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

Сообщение от begun Посмотреть сообщение
Вчера вечером не работал приведенный мною код.
Сегодня утром перед работой посмотрел Ваш материал, хотел вставить
сравнение и на всякий случай еще раз запустил симмуляйию и все заработала как положено ,может вирусы мешали и после перегрйзки
Вы не ждете запуска таймера. Помните, про "грабельки"? Так это они.
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
alexgap вне форума  
Непрочитано 01.04.2010, 13:30  
ilya_sh
Прописка
 
Регистрация: 09.10.2007
Сообщений: 235
Сказал спасибо: 27
Сказали Спасибо 24 раз(а) в 24 сообщении(ях)
ilya_sh на пути к лучшему
По умолчанию Re: Отработка секундного импульса на AVR

Сообщение от alexgap Посмотреть сообщение
Вы не ждете запуска таймера. Помните, про "грабельки"? Так это они.
Не эти грабельки - убрал строчку, пошел счет. Здесь ожидание стабилизации кварца не при чем. Но я всегда ожидаю 2 сек (програмно)
ilya_sh вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVR JTAGICE MKII - проблемы firmware... Luxurious AVR 25 20.10.2014 10:50
На WinAVR + AVR Studio c CVAVR Vetal-soft Embedd С 87 03.03.2013 20:31


Часовой пояс GMT +4, время: 13:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot