Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Открыл глаза
Сообщения: 79
Зарегистрирован: Пт июн 15, 2012 13:11:36

Сообщение yron »

CodeVisionAvr . Я хочу понять как это работает,для этого я должен понимать как и где это должно находится в программе. А время между импульсами будет между 1мс-100мс.
Я не могу понять какие настройки нужно ставить в Timer0 для того чтобы он работал как счетчик.
Реклама
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Сб июн 09, 2012 23:09:42

Сообщение Algor »

Помогите разобраться с CoDeSys. Насколько я понял в этой проге мы пишем (или даже делаем блок схему) а потом просто подключаем ПЛК. Никаких прошивок, программаторов, настроек протоколов связи (в нужном мне ПЛК связь с ПК осуществляется через RS485). То есть написал ПО, сделал визуализацию, скомпилил, подключил и должно заработать?
Реклама
Мучитель микросхем
Сообщения: 400
Зарегистрирован: Сб апр 17, 2010 10:30:13

Сообщение misterkuk »

Посоветуйте, какой бы собрать программатор для AVR чтоб по функциональней и больше чипов поддерживал.
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

yron писал(а): Я не могу понять какие настройки нужно ставить в Timer0 для того чтобы он работал как счетчик.
хочу открыть вам маленькую тайну-таймер/счетчик всегда работает как счетчик.
только в зависимости от режима тактирования получается
1 либо просто счетчиком если с внешнего источника такт либо программно инкрементируется в произвольное время.

2.либо таймером, если частота жвходящих импульсов стабильна или если тактируется от внутреннего такта.

при внешнем такте должен пройти хотя бы один такт основного тактирования чтобы контроллер зафиксировал изменение ноги внешнего источника тактирования таймера/счетчика.
В поисках истины человек развивается.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

Очень нужен пример софтового i2c на плис. Просто горю
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Реклама
Открыл глаза
Сообщения: 79
Зарегистрирован: Пт июн 15, 2012 13:11:36

Сообщение yron »

misterkuk писал(а):Посоветуйте, какой бы собрать программатор для AVR чтоб по функциональней и больше чипов поддерживал.
http://www.avrguide.ru/?page=3 Просто идеальной программатор)))

vitalik_1984 Можете привести пример программы?
Реклама
Chettuser

Сообщение Chettuser »

Кислый писал(а):Очень нужен пример софтового i2c на плис. Просто горю
В Quartus'е есть создание модулей под FPGA, код можно подсмотреть оттуда.
А ещё попробуйте спросить здесь: http://marsohod.org/
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

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++;
}
 
Izmer_time_impulse.rar
(23.04 КБ) 157 скачиваний
В поисках истины человек развивается.
Контактная информация:
Открыл глаза
Сообщения: 79
Зарегистрирован: Пт июн 15, 2012 13:11:36

Сообщение yron »

vitalik_1984 большое вам спасибо. Скачал весь проект. Мая переменная это Counter?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

точно подметили, если Overflow_times_old не равно нулю, то еще и его нужно учесть,
то есть ваше число будет равно Overflow_times_old*TCNT_MAX+Counter
где TCNT_MAX число тиков таймера перед переполнением, таким образом в этой программе TCNT_MAX=255
В поисках истины человек развивается.
Контактная информация:
Родился
Сообщения: 2
Зарегистрирован: Чт июл 05, 2012 06:39:44

Сообщение Digitalizer »

Доброго времени суток!
Люди добрые, подскажите пожалуйста, где найти Quartus II 8-ой версии?
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

У альтері есть ФТП, про который они даже у себя что-от рассказывают http://www.altera.com/support/kdb/solut ... _1127.html

Только они там не говорят, что заходить нужно сразу в каталог /outgoing/release/ , пошагово не пустит, outgoing покажет пустым.
И вот там и максплюсы с шестого по десятый, и квартусы начиная со второго или третьего

p.s. а ещё они там врут про e-mail в пароле, для anonymous либо вообще пароль не нужнен, либо guest
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Родился
Сообщения: 2
Зарегистрирован: Чт июл 05, 2012 06:39:44

Сообщение Digitalizer »

Большое спасибо за помощь!
Друг Кота
Аватара пользователя
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Сообщение FreshMan »

вопрос по AVR:
1) для чего еще нужен програмный счетчик, кроме того что он тупо ведет подсчет команд ? где этот подсчет используется в дальнейшем ?
2)при чтении ликбеза я наткнулся на такую особенность SREG $3F ($5F), как сие понимать ? у этого регистра два адреса ? :dont_know:
Tell Me The Truth
Друг Кота
Аватара пользователя
Сообщения: 20141
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

FreshMan писал(а):1) для чего еще нужен програмный счетчик, кроме того что он тупо ведет подсчет команд ? где этот подсчет используется в дальнейшем ?
Он не тупо ведёт подсчёт команд, он вычисляет адрес той команды, которая будет выполняться следом за текущей. Также при вызове прерывания в стэке сохраняется текущее значение счётчика команд — то место, на которое надо будет вернуться после прерывания.
FreshMan писал(а):2)при чтении ликбеза я наткнулся на такую особенность SREG $3F ($5F), как сие понимать ?
Регистры ввода-вывода (РВВ) у АВРок идут после 32-х ($20-ти) регистров общего назначения (РОН), при этом для 32-х младших РВВ доступны побитовые операции. Вот чтобы не думать, и указывают абсолютный адрес РВВ и со сдвигом на 32.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

1. Уже отвечено.
2. Очень наглядно в даташите:
Изображение
Вложения
memory.jpg
(34.07 КБ) 651 скачивание
Docendo discimus
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Сообщение FreshMan »

ну вот смотрите....., какая неразбериха......, с РОН все просто....., например адресное пространство $0002 "носит" имя R2........, а вот как понимать $0020 носит имя $00 ? :dont_know:
Tell Me The Truth
Друг Кота
Аватара пользователя
Сообщения: 26123
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

FreshMan писал(а):ну вот смотрите....., какая неразбериха......
Адресное пространство регистров ввода-вывода отображается на ОБЩЕЕ адресное пространство со сдвигом в $20.
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

$0020 - это абсолютный адрес, в общем поле памяти. $00 - адрес порта ввода/вывода, относительный адрес. Физически, в микросхеме это один и тот же регистр.
Docendo discimus
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Сообщение FreshMan »

pyzhman писал(а):$0020 - это абсолютный адрес, в общем поле памяти.
это понятно :))
pyzhman писал(а):$00 - адрес порта ввода/вывода, относительный адрес.
а вот это не понятно......., я думал что если мы пишем какое-либо число в адрес $0020, который припустим принадлежит порту В, то это число автоматически появляется на этом порту......, и мы , к примеру, тогда зажигаем светодиоды....., а так я что-то недогоняю :(
Tell Me The Truth
Ответить

Вернуться в «Разные вопросы по МК»