Я не могу понять какие настройки нужно ставить в Timer0 для того чтобы он работал как счетчик.
Мелкие вопросы по МК и ПЛИС.
- Сообщения: 79
- Зарегистрирован: Пт июн 15, 2012 13:11:36
CodeVisionAvr . Я хочу понять как это работает,для этого я должен понимать как и где это должно находится в программе. А время между импульсами будет между 1мс-100мс.
Я не могу понять какие настройки нужно ставить в Timer0 для того чтобы он работал как счетчик.
Я не могу понять какие настройки нужно ставить в Timer0 для того чтобы он работал как счетчик.
- Реклама
- Сообщения: 35
- Зарегистрирован: Сб июн 09, 2012 23:09:42
Помогите разобраться с CoDeSys. Насколько я понял в этой проге мы пишем (или даже делаем блок схему) а потом просто подключаем ПЛК. Никаких прошивок, программаторов, настроек протоколов связи (в нужном мне ПЛК связь с ПК осуществляется через RS485). То есть написал ПО, сделал визуализацию, скомпилил, подключил и должно заработать?
- Сообщения: 400
- Зарегистрирован: Сб апр 17, 2010 10:30:13
Посоветуйте, какой бы собрать программатор для AVR чтоб по функциональней и больше чипов поддерживал.
хочу открыть вам маленькую тайну-таймер/счетчик всегда работает как счетчик.yron писал(а): Я не могу понять какие настройки нужно ставить в Timer0 для того чтобы он работал как счетчик.
только в зависимости от режима тактирования получается
1 либо просто счетчиком если с внешнего источника такт либо программно инкрементируется в произвольное время.
2.либо таймером, если частота жвходящих импульсов стабильна или если тактируется от внутреннего такта.
при внешнем такте должен пройти хотя бы один такт основного тактирования чтобы контроллер зафиксировал изменение ноги внешнего источника тактирования таймера/счетчика.
В поисках истины человек развивается.
Очень нужен пример софтового i2c на плис. Просто горю
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
- Реклама
- Сообщения: 79
- Зарегистрирован: Пт июн 15, 2012 13:11:36
http://www.avrguide.ru/?page=3 Просто идеальной программатор)))misterkuk писал(а):Посоветуйте, какой бы собрать программатор для AVR чтоб по функциональней и больше чипов поддерживал.
vitalik_1984 Можете привести пример программы?
В Quartus'е есть создание модулей под FPGA, код можно подсмотреть оттуда.Кислый писал(а):Очень нужен пример софтового i2c на плис. Просто горю
А ещё попробуйте спросить здесь: http://marsohod.org/
Вот начало, что вы хотите с переменной делать я не знаюyron писал(а): vitalik_1984 Можете привести пример программы?
Код: Выделить всё
#include <tiny13.h>
// Declare your global variables here
unsigned int Overflow_times,Counter,Overflow_times_old;
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
Counter=TCNT0; //считали значение в переменную
Overflow_times_old=Overflow_times;
TCNT0=0;
Overflow_times=0;
}
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{Overflow_times++;
}
В поисках истины человек развивается.
- Сообщения: 79
- Зарегистрирован: Пт июн 15, 2012 13:11:36
vitalik_1984 большое вам спасибо. Скачал весь проект. Мая переменная это Counter?
точно подметили, если Overflow_times_old не равно нулю, то еще и его нужно учесть,
то есть ваше число будет равно Overflow_times_old*TCNT_MAX+Counter
где TCNT_MAX число тиков таймера перед переполнением, таким образом в этой программе TCNT_MAX=255
то есть ваше число будет равно Overflow_times_old*TCNT_MAX+Counter
где TCNT_MAX число тиков таймера перед переполнением, таким образом в этой программе TCNT_MAX=255
В поисках истины человек развивается.
- Сообщения: 2
- Зарегистрирован: Чт июл 05, 2012 06:39:44
Доброго времени суток!
Люди добрые, подскажите пожалуйста, где найти Quartus II 8-ой версии?
Люди добрые, подскажите пожалуйста, где найти Quartus II 8-ой версии?
У альтері есть ФТП, про который они даже у себя что-от рассказывают http://www.altera.com/support/kdb/solut ... _1127.html
Только они там не говорят, что заходить нужно сразу в каталог /outgoing/release/ , пошагово не пустит, outgoing покажет пустым.
И вот там и максплюсы с шестого по десятый, и квартусы начиная со второго или третьего
p.s. а ещё они там врут про e-mail в пароле, для anonymous либо вообще пароль не нужнен, либо guest
Только они там не говорят, что заходить нужно сразу в каталог /outgoing/release/ , пошагово не пустит, outgoing покажет пустым.
И вот там и максплюсы с шестого по десятый, и квартусы начиная со второго или третьего
p.s. а ещё они там врут про e-mail в пароле, для anonymous либо вообще пароль не нужнен, либо guest
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
- Сообщения: 2
- Зарегистрирован: Чт июл 05, 2012 06:39:44
вопрос по AVR:
1) для чего еще нужен програмный счетчик, кроме того что он тупо ведет подсчет команд ? где этот подсчет используется в дальнейшем ?
2)при чтении ликбеза я наткнулся на такую особенность SREG $3F ($5F), как сие понимать ? у этого регистра два адреса ?
1) для чего еще нужен програмный счетчик, кроме того что он тупо ведет подсчет команд ? где этот подсчет используется в дальнейшем ?
2)при чтении ликбеза я наткнулся на такую особенность SREG $3F ($5F), как сие понимать ? у этого регистра два адреса ?
Tell Me The Truth
Он не тупо ведёт подсчёт команд, он вычисляет адрес той команды, которая будет выполняться следом за текущей. Также при вызове прерывания в стэке сохраняется текущее значение счётчика команд — то место, на которое надо будет вернуться после прерывания.FreshMan писал(а):1) для чего еще нужен програмный счетчик, кроме того что он тупо ведет подсчет команд ? где этот подсчет используется в дальнейшем ?
Регистры ввода-вывода (РВВ) у АВРок идут после 32-х ($20-ти) регистров общего назначения (РОН), при этом для 32-х младших РВВ доступны побитовые операции. Вот чтобы не думать, и указывают абсолютный адрес РВВ и со сдвигом на 32.FreshMan писал(а):2)при чтении ликбеза я наткнулся на такую особенность SREG $3F ($5F), как сие понимать ?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
1. Уже отвечено.
2. Очень наглядно в даташите:

2. Очень наглядно в даташите:
- Вложения
-
- memory.jpg
- (34.07 КБ) 651 скачивание
Docendo discimus
ну вот смотрите....., какая неразбериха......, с РОН все просто....., например адресное пространство $0002 "носит" имя R2........, а вот как понимать $0020 носит имя $00 ? 
Tell Me The Truth
Адресное пространство регистров ввода-вывода отображается на ОБЩЕЕ адресное пространство со сдвигом в $20.FreshMan писал(а):ну вот смотрите....., какая неразбериха......
$0020 - это абсолютный адрес, в общем поле памяти. $00 - адрес порта ввода/вывода, относительный адрес. Физически, в микросхеме это один и тот же регистр.
Docendo discimus
это понятноpyzhman писал(а):$0020 - это абсолютный адрес, в общем поле памяти.
а вот это не понятно......., я думал что если мы пишем какое-либо число в адрес $0020, который припустим принадлежит порту В, то это число автоматически появляется на этом порту......, и мы , к примеру, тогда зажигаем светодиоды....., а так я что-то недогоняюpyzhman писал(а):$00 - адрес порта ввода/вывода, относительный адрес.
Tell Me The Truth


