Список разделов Flyback.org.ru » не HV » МК для начинающих.
Тему сейчас просматривают - зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегестрированные - Нет
Ответить с цитатой

Behram
 


SilverRay писал(а):
Очевидно, написать самому функцию преобразования двоичного числа в десятичное в ASCII-коде и отправить в порт напрямую два или три байта.
А как сделать чтобы комп не занимался самодеятельностью и принимал то, что отправили?

Добавлено: Sat Feb 13, 2016 3:32 pm
Ответить с цитатой

SilverRay
 


Сначала надо уточнить, чем ты принимаешь. Если терминалкой -- то она честно отображает ASCII-символы, включая управляющие. Соответственно, нужно делать функцию преобразования со стороны МК. Если же принимаешь своей программой -- то никто не мешает сделать прием двоичных данных и выводить их в числовом формате уже программой на компе.

Добавлено: Sat Feb 13, 2016 3:42 pm
Ответить с цитатой

Behram
 


SilverRay писал(а):
Если же принимаешь своей программой -- то никто не мешает сделать прием двоичных данных и выводить их в числовом формате уже программой на компе.
Бляя, ну я дебил. Вместо ReadLine написал ReadByte и все заработало йобаный стыд восторг
Да, принимаю своей прогой.

Добавлено: Sat Feb 13, 2016 3:55 pm
Ответить с цитатой

Денис
 


А на чем писал свою прогу? Я вот все хочу разобраться с этим.

Добавлено: Sat Feb 13, 2016 4:53 pm
Ответить с цитатой

Behram
 


На C#. https://msdn.microsoft.com/ru-ru/library/system.io.ports.serialport(v=vs.110).aspx

Добавлено: Sat Feb 13, 2016 5:35 pm
Ответить с цитатой

SilverRay
 


Жесть... смех
Есть некоторая среда, от NI, если не путаю -- LabWindows. Типа, заточена под то, чтобы быстро соорудить всякие кнопочки с окошками для работы с оборудованием. Не без косяков, но иногда удобно. Язык тоже Си-подобный.

Добавлено: Sat Feb 13, 2016 5:44 pm
Ответить с цитатой

AlexDark
CyberGoth


LabView это

Добавлено: Sat Feb 13, 2016 6:00 pm
Ответить с цитатой

SilverRay
 


Специально для торопящихся вставить свои пять копеек -- LabWindows: http://www.ni.com/lwcvi/

Добавлено: Sat Feb 13, 2016 6:06 pm
Ответить с цитатой

Behram
 


AlexDark писал(а):
LabView это
LabView и "быстро соорудить всякие кнопочки" несовместимо смех

Добавлено: Sat Feb 13, 2016 6:37 pm
Ответить с цитатой

nERV
 


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

Добавлено: Sat Feb 13, 2016 10:13 pm
Ответить с цитатой

Behram
 


Можно генерировать прерывание по фронту и спаду пришедшего импульса..
А чтобы сгенерировать импульс - PORT и таймер.

Добавлено: Sat Feb 13, 2016 10:54 pm
Ответить с цитатой

Ivani
 


millis micros + прерывание
ШИМ?

Добавлено: Sat Feb 13, 2016 10:55 pm
Ответить с цитатой

nERV
 


Нужно прочитать длительность входящего импульса, вычислить из него нужную длительность и выдать импульс к приходу следующего на вход. И этого добра 6 каналов.

Добавлено: Sat Feb 13, 2016 11:34 pm
Ответить с цитатой

Behram
 


http://avr-start.ru/?p=1997

Добавлено: Sun Feb 14, 2016 12:18 am
Ответить с цитатой

Денис
 


Почему такой код занимает 16 тактов процессора?

Код:
interrupt [TIM0_COMPA] void timer0_compa_isr(void)
{
PORTD = ~PORTD;
}


(это прерывание по таймеру при достижении нужного значения)

Сталкиваюсь с тем, что на таймерах атмеги не получается сделать адекватный задающий генератор на 250кГц. Ибо менять частоту влево-вправо получается с минимальным шагом 7-8 кГц. Какая тут подстройка в резонанс.. Это либо я кардинально неправильным путем иду, либо надо брать камни на 40+ МГц типа STMок, и ваять на них. Так?


Добавлено: Sun Feb 14, 2016 1:22 am
Ответить с цитатой

TheEvilGenius
 


Т.е. тупо запустил таймер и запускаешь прерывание при достижнии значения, изменяя значение меняешь скважность? Что то с кодом не то. А не проще ли сделать параллельный цап на меге и частотой 494 рулить

Добавлено: Sun Feb 14, 2016 6:58 am
Ответить с цитатой

SilverRay
 


Денис писал(а):
Почему такой код занимает 16 тактов процессора?
Ну а сколько он может занимать? Прикидываем:
Сама операция "чтение порта в регистр -- инвертирование регистра -- запись в порт" уже минимум три такта.
Сохранение-восстановление регистра на входе и выходе из прерывания -- еще два такта.
Сохранение-восстановление регистра флагов -- еще такта четыре, потому как нет прямой команды.
Вот уже девять набегает. А дальше всякие навески от компилятора, и собственно команда выхода из обработчика.
Посмотри ассемблерный листинг и убедись.

Добавлено: Sun Feb 14, 2016 9:58 am
Ответить с цитатой

Behram
 


Денис писал(а):
PORTD = ~PORTD;
Можно проще. Если в регистр PIN записать единицы, то состояние ножек инвертируется.


Почему команда DDRB = 0b10000000; занимает больше памяти, чем DDRB |= ( 1 << 7); ?

Добавлено: Sun Feb 14, 2016 12:02 pm
Ответить с цитатой

SilverRay
 


Наверное, потому, что это не команда, а два оператора, и как там компилятор их обработает -- только ему ведомо.
Полагаю, что в первом случае он использует что-то вроде связки -- загрузки в регистр значения с последующей записью в порт, а во втором -- команду sbr.

Добавлено: Sun Feb 14, 2016 12:43 pm
Ответить с цитатой

Евгений Светницкий
 


Денис писал(а):
Сталкиваюсь с тем, что на таймерах атмеги не получается сделать адекватный задающий генератор на 250кГц. Ибо менять частоту влево-вправо получается с минимальным шагом 7-8 кГц. Какая тут подстройка в резонанс.. Это либо я кардинально неправильным путем иду, либо надо брать камни на 40+ МГц типа STMок, и ваять на них. Так?

Да неправильный путь. Есть специальные микросхемы генераторов с цифровым управлением. Либо плисину брать на 80 и больше МГц. Можно еще многооборотный резюк крутить шаговиком и мерять частоту мк Smile

Добавлено: Sun Feb 14, 2016 2:20 pm
Ответить с цитатой

Денис
 


А что за микросхемы генераторов с цифровым управлением, накидаешь пару популярных? Я верно понимаю принцип, частота на выходе зависит от двоичной комбинации на входах, или там последовательный интерфейс?

Добавлено: Sun Feb 14, 2016 3:20 pm
Ответить с цитатой

Behram
 


DDS синтезатор
http://we.easyelectronics.ru/grand1987/dds-sintezator-ad9833.html

Добавлено: Sun Feb 14, 2016 3:30 pm
Ответить с цитатой

Electricman
Бес заземления


Хотел я поиграть с этой микрой, да нет её у нас.

Добавлено: Sun Feb 14, 2016 3:46 pm
Ответить с цитатой

Денис
 


DDS, по ходу, дорогое удовольствие. Самый дешевый китай-модуль DDS стоит почти полтыщи на али.

А можно менять частоту генерации обычных микрух с RC-целочками (TL494, SG3525), подавая разное напряжение на определенную ножку? А напряжение можно и ШИМом сделать. Это куда проще, супер-быстрая реакция мне не нужна.

Добавлено: Sun Feb 14, 2016 3:51 pm
Ответить с цитатой

Electricman
Бес заземления


Денис писал(а):
полтыщи на али.
Разве это деньги? Я купил К1113ПВ1 за 630р просто так, что бы была.

Добавлено: Sun Feb 14, 2016 3:52 pm
Список разделов Flyback.org.ru » не HV » МК для начинающих.
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.     Просмотр темы целиком



Лицензионное соглашение

(c)Flyback.org.ru
Российское общество любителей высоких напряжений.
Использование материалов с данного сайта и форума возможно только с разрешения администрации.