Страница 464 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 23, 2013 10:40:25
pyzhman
Компилятор компилирует компилируемое, т.е. сишный код. Ассемблерная вставка на вашей совести и остается девственной.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 23, 2013 10:47:30
FreshMan
тоесть вы хотите сказать что определенную задачу на асме мона решить только одним способом и поэтому компилятор в данном случае умывает руки ?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 23, 2013 10:53:57
vitalik_1984
Ага только потом после него может поработать оптимизатор

В код вижн могут одинаковые участки помещаться в функции для уменьшения размера программы. В любом случае можно сравнить свою функцию с кодом на выходе.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 23, 2013 11:00:49
Engineer_Keen
А что делать компилятору? С Си он переводит функции в машинный код, а ассемблерная вставка это уже по-сути машинный код, только написанный в более понятном человеку виде, там просто нечего переделывать, разве что ошибки проверить. А вот каким способом решить задачу на ассемблере решает человек, он может написать INC R16, а может SUBI R16,-1, тут компилятор за него думать не будет. Оптимизатор да, другое дело, но если код небольшой и написан грамотно, ему ИМХО делать будет нечего

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 23, 2013 11:05:09
pyzhman
vitalik_1984 писал(а):одинаковые участки помещаться в функции для уменьшения размера программы
Ассемблерная вставка не трогается.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 23, 2013 14:44:13
FreshMan
Engineer_Keen писал(а):Оптимизатор да, другое дело,
вот как бы сделать так чтобы и оптимизатор не трогал ассемблерный кусок кода ?
типа.....мне именно вот так надо, и не твоего ума это дело

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 23, 2013 14:45:52
pyzhman
КодеВижн вашу ассемблерную вставку не тронет, не переживайте. В конце концов, напишите да и проверьте!
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 23, 2013 19:12:22
Kavka
КРАМ писал(а):В пределах этого "вейера"?
Какая же скорость предполагается у сего УАРТа?

Вопрос не в скорости УАРТа, а в скорости нарастания/спада фронтов на выходе микры. Пусть они хоть раз в секунду, хоть в три часа.

Тут где-то была тема про 1-wire с термометрами подключенными "звездой" - и скорости не высокие, а звенит в "звезде" только так.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт окт 24, 2013 08:45:03
КРАМ
Kavka писал(а):Вопрос не в скорости УАРТа, а в скорости нарастания/спада фронтов на выходе микры.
А каким образом скорость нарастания связана с работой УАРТа?
И причем тут 1-Wire? В огороде бузина...
"Звезда" по УАРТу контроллера
до драйверов имеет ничтожную дальность, а значит и реактивные паразитные параметры линии.
Звон на выходе МК определяется ФРОНТОМ ГЕНЕРИРУЕМОГО СИГНАЛА. Чем круче фронт, тем сильнее звон. При прочих равных параметрах. Увеличение емкости в нагрузке УВЕЛИЧИТ длительность фронта и УМЕНЬШИТ звон. С точки зрения спектра сигнала он станет
уже и волновые процессы в оставшемся спектре исчезнут за слишком малой длиной линий передачи.
С 1-Wire картина СОВЕРШЕННО другая.
Во первых, шлейфы длинные (это ВНЕсхемная линия передачи), во вторых она ВЫСОКООМНАЯ и несогласованная с волновым сопротивлением витой пары или чего там еще...
Отсюда и звон...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт окт 24, 2013 09:18:04
Kavka
КРАМ писал(а):Kavka писал(а):Вопрос не в скорости УАРТа, а в скорости нарастания/спада фронтов на выходе микры.
...
Звон на выходе МК определяется
ФРОНТОМ ГЕНЕРИРУЕМОГО СИГНАЛА. Чем
круче фронт, тем сильнее звон. При прочих равных параметрах. Увеличение емкости в нагрузке УВЕЛИЧИТ длительность фронта и УМЕНЬШИТ звон.
Во первых, подумайте, как крутизна фронта связана с со скоростью нарастания напряжения?
Во вторых, увеличение ёмкости, скажем так, на тракте точка-точка, это одно. На концах звезды это другое, и, в идеале, надо согласовывать звезду. В реальности, практически тотально, все на это забивают. Однако, пусть и редко, но встречаются вопли типа "я раньше так делал, а сейчас не работает". Поэтому об этом надо знать и быть готовым к непредвиденным последствиям.
(чёт half-life вспомнился
)
Про 1-wire, да, может и не совсем удачный пример, как вы указали, из-за масштаба линий. Но ничего не мешает стечению обстоятельств сотворить "звенящую звезду" на плате.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт окт 24, 2013 09:41:46
КРАМ
Крутизна фронта и есть скорость нарастания напряжения.
Это полные синонимы.
Вы не поняли о чем я спросил.
Дело в принципе работы приемника УАРТа. Ему на фронты положить.... болт...
Мажоритарному приемнику нужен ПОТЕНЦИАЛ нуля или единицы необходимой продолжительности. Какой при этом был фронт - глубоко наплевать. Звоны звезды в пределах печатной платы от МК до драйверов -
максимум 10 наносекунд...
Так о какой скорости УАРТа тут идет речь?

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 25, 2013 05:58:05
Kavka
Ааа... Вон куда вы упираете! Про принцип работы УАРТа - это да. Я и не спорю.
А про 10нс - это смотря как развести дорожки и каких размеров плата. Ладно, это я уже занудствую

Просто, IMHO, меры по предотвращению "звона", так сказать, это правило хорошего тона. Но как всегда - на вкус и цвет...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 25, 2013 07:26:34
КРАМ
Kavka писал(а):
А про 10нс - это смотря как развести дорожки и каких размеров плата.
Да как не разводи...
И размеры платы не имеют значения. Имеет значение РАССТОЯНИЕ между драйверами и МК.
Однако огромных плат с максимальным удалением драйверов и МК я чего то не встречал... Люди умнее, чем кажутся на первый взгляд...
Имеет значение КАЧЕСТВО ЗЕМЛИ на этой плате. Но плохая земля не создает звона. Плохая земля создает ПОМЕХИ ОТ ДРУГИХ СИГНАЛОВ. Поскольку суммирует токи разных сигналов и создает падение напряжения от этого тока приложенное ко входам всех этих сигналов.
Вот эти помехи СПОСОБНЫ нарушить работу УАРТа...

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 25, 2013 08:27:00
service47
Можно ли реализовать на МК функцию удерживания кнопок (INT0 и INT1) в течение трех секунд и чтобы потом запускалась какая-нибудь задача.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 25, 2013 09:57:35
КРАМ
Реализовать можно.
Но только САМОМУ. Помощь в таком случае гарантируется.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 25, 2013 10:37:14
service47
Сделал так:
if (EIFR == 0b00000011)
или
while (EIFR==0b00000011)
//EIFR = 0b00000000; //External interrupt flag register
только при очень четком одновременном нажатии кнопок срабатывает алгоритм, а надо реализовать удержание на 3 секунды.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 25, 2013 12:42:20
ibiza11
так и считайте, что сначала одну кнопку нажимают, а потом вторую и держат обе. от этого и пляшите. "думайте как микроконтроллер"
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 25, 2013 13:04:46
pyzhman
Код: Выделить всё
if (EIFR == 0b00000011)
или
while (EIFR==0b00000011)
Что сие означает? Поясните.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 25, 2013 13:12:19
service47
Перефразирую вопрос: каким способом организовать задержку в 3 сек., т.е. какими командами, может задействовать таймер или завести переменную и инкрементировать ее в цикле или какой-то счетчик...
pyzhman писал(а):Код: Выделить всё
if (EIFR == 0b00000011)
или
while (EIFR==0b00000011)
Что сие означает? Поясните.
Просто в обработчик прерывания были вписаны эти команды и если нажата одна кнопка то в ней запускается условие и если оно совпадает т.е. флаги равны единицам то запускается команда.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 25, 2013 13:13:58
pyzhman
Самый простой:
К добавке - ничё не понял.
