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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Сообщение amd9800 »

sphincs писал(а):как заставить пульсировать их все по-разному
Например у вас 8 светодиодов.

Создаем два 8-ми размерных массива. (Глобальные переменные)
unsigned char Zapolenie[8]
unsigned char Vipoleneno[8]
Дискретизацию выберем например 10
То есть 10 это максимум - 5 половина и так далее
Timer настраиваем чтоб каждую милисекунду вызывал прерывание.
В прерывании пишем код.

Выполняем цикл от 0 до 7.
И проверяем переменную выполнено Vipoleneno если она меньше Zapolenie.
Если меньше тогда прибавляем единичку Vipoleneno++ и в регистр отправляем единичку
если нет тогда в регистр отправляем 0.

Дальше имеем переменную j которая прибавляется j++
ниже проверяем если (j>9)
Если да то обнуляем все Vipoleneno и j


Теперь в основной программе вам нужно только выбирать Zapolenie которое соответствует светодиоду.
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 174
Зарегистрирован: Вт сен 11, 2012 09:13:52
Откуда: Брест, Беларусь

Сообщение sphincs »

amd9800, спасибо, вроде бы осознал)
Контактная информация:
Реклама
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Сообщение amd9800 »

если что проблемы в процессе программирования пиши - помогу.
Опытный кот
Аватара пользователя
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Сообщение baghear »

Добрый день, каков принцип работы данного кусочка схемы
http://screenshot.su/show.php?img=4dd9f ... 909f55.jpg
Если включен фьюз spien то, выводы miso, mosi, sck можно использовать лишь для программирования.
В схеме автор предлагает и программировать и использовать в программе данные выводы.
Подскажите где заблуждение?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Эти выводы можно использовать и для программирования, и использовать в качестве последовательного интерфейса SPI. У меня так, с ATmega8a, с установкой по умолчанию упомянутого фьюза.

Дело в том, что при программировании задействуется еще вывод RESET. Программатор подает на RESET определенные сигналы, которые говорят МК, что сейчас будет программирование.

Конечно, может случится так, что подключенные к выводам МК устройства помешают программированию. Например монитор питания, подключенный к RESET, или выход другой микросхемы, подключенной к входу данных SPI. Но это можно учесть при разработке схемы.
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1815
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

baghear, фьюз SPIEN всего лишь включает возможность программирования МК через упомянутые выводы. Это не делает их занятыми "намертво" этим функционалом. Программирование активируется длительным низким уровнем на RESET (см. спецификацию), в остальном что установлен SPIEN, что нет - всё одинаково.
В отличии от JTAG на старших МК, там ножки оккупируются при включенном соответствующем фьюзе.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Реклама
Опытный кот
Аватара пользователя
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Сообщение baghear »

Получается jtag при выставлении фьюза не разрешает использование выводов для др целей, spi разрешает.
Спасибо!!!
Опытный кот
Аватара пользователя
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Сообщение baghear »

Добрый день, задача принять пакет который шлёт некое устройство.
Как это реализовать программно?
Если известны временные интервалы, можно через эти промежутки смотреть что на входе.
Может есть какие то ещё способы?
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Вроде последовательные интерфейсы, аппаратно реализованные, могут вызвать прерывание, при успешном приеме очередного байта. Тогда, по прерыванию, этот байт надо считать из служебного регистра и, скажем, записать в ОЗУ. После чего ждать следующего прерывания.
Друг Кота
Аватара пользователя
Сообщения: 6349
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Вот как бы научить новичков правильно задавать вопросы ? Какой пакет - по интерфейсу, по радиоканалу, по IrDA или бумажный - курьером ? Если есть устройство и оно что-то шлет, значит, есть на него описание, где расписан конкретный протокол. И уж тогда начинается вопрос - как его принять.
Грызет канифоль
Аватара пользователя
Сообщения: 291
Зарегистрирован: Вт сен 02, 2008 04:03:21
Откуда: Тихорецк

Сообщение Valeriy L »

Можно так соединить 2 микроконтроллера.
Вложения
ADUM1201AR.jpg
(40.67 КБ) 248 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 6349
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Valeriy L писал(а):Можно так соединить 2 микроконтроллера.
И ?
baghear писал(а):Как это реализовать программно?
Вот и дан ответ - исчерпывающий и по делу. Про Фому и Ерему.
Мудрый кот
Аватара пользователя
Сообщения: 1815
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Valeriy L писал(а):Можно так соединить 2 микроконтроллера.
Это утверждение не противоречит приведённой картинке.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Сообщение amd9800 »

Скажите пожалуйста можно ли организовать для мег Vref а также питание на ОУ как по схеме ниже?
Может быть для питания даже усилительный каскад на транзисторах добавить к выходу ОУ.

Изображение
Вложения
OU-ref.JPG
(51.62 КБ) 989 скачиваний
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Работа на емкостную нагрузку может приводить к самовозбуждению ОУ - это известный факт. Есть схемные решения, которые позволяют с этим побороться, а также есть ОУ, более-менее способные справиться с некоторой емкостью на выходе (тогда это обязательно указывается в даташите). В общем случае, думаю, что эти схемы работать не будут.

Vref можно сделать и без ОУ, TL431 вполне справится.
Chettuser

Сообщение Chettuser »

Главное не переборщите с током, по опыту на TL431 падает 2,5 Вольт только при токе от 400 мкА.
Грызет канифоль
Аватара пользователя
Сообщения: 291
Зарегистрирован: Вт сен 02, 2008 04:03:21
Откуда: Тихорецк

Сообщение Valeriy L »

Может я не правильно сформулировал вопрос. Первый МК это блок зажигания а второй бортовой компьютер они могут между собой соединяться только через RxD и TxD. Но иногда блок зажигания будет соединятся с ноутбуком через переходник на FT232. Так как я в МК не очень то такое соединение будет работать через ADUM1201AR.
Друг Кота
Аватара пользователя
Сообщения: 6349
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

А, так это был вопрос ? А я подумал, что ответ ув. baghear'у :) Так что звиняйте. Вот что бывает, когда в конце вопроса не ставят надлежащий знак '?'
Мудрый кот
Аватара пользователя
Сообщения: 1815
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Valeriy L писал(а):Так как я в МК не очень то такое соединение будет работать через ADUM1201AR.
Если там именно TX/RX, т.е. сигналы с логическими уровнями 0..3.3в (или до 5в), то да, будет работать. Не забудьте питание ADUM1201 сделать тоже раздельным :)
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Грызет канифоль
Аватара пользователя
Сообщения: 291
Зарегистрирован: Вт сен 02, 2008 04:03:21
Откуда: Тихорецк

Сообщение Valeriy L »

Спасибо за ответ. Сигналы только Rxd и ТxD больше не каких не будет. Питание ADUM1201 будет раздельным. Просто не было желания для связи ставить 2 МАХ232 когда можно обойтись одной ADUM1201.
Ответить

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