Мелкие вопросы по МК и ПЛИС.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Компилятор компилирует компилируемое, т.е. сишный код. Ассемблерная вставка на вашей совести и остается девственной.
Docendo discimus
Re: Мелкие вопросы по МК и ПЛИС.
тоесть вы хотите сказать что определенную задачу на асме мона решить только одним способом и поэтому компилятор в данном случае умывает руки ?
Tell Me The Truth
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Ага только потом после него может поработать оптимизатор 
В код вижн могут одинаковые участки помещаться в функции для уменьшения размера программы. В любом случае можно сравнить свою функцию с кодом на выходе.
В код вижн могут одинаковые участки помещаться в функции для уменьшения размера программы. В любом случае можно сравнить свою функцию с кодом на выходе.
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
А что делать компилятору? С Си он переводит функции в машинный код, а ассемблерная вставка это уже по-сути машинный код, только написанный в более понятном человеку виде, там просто нечего переделывать, разве что ошибки проверить. А вот каким способом решить задачу на ассемблере решает человек, он может написать INC R16, а может SUBI R16,-1, тут компилятор за него думать не будет. Оптимизатор да, другое дело, но если код небольшой и написан грамотно, ему ИМХО делать будет нечего 
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
vitalik_1984 писал(а):одинаковые участки помещаться в функции для уменьшения размера программы
Ассемблерная вставка не трогается.
Docendo discimus
Re: Мелкие вопросы по МК и ПЛИС.
Engineer_Keen писал(а):Оптимизатор да, другое дело,
вот как бы сделать так чтобы и оптимизатор не трогал ассемблерный кусок кода ?
типа.....мне именно вот так надо, и не твоего ума это дело
Последний раз редактировалось FreshMan Ср окт 23, 2013 14:46:11, всего редактировалось 1 раз.
Tell Me The Truth
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
КодеВижн вашу ассемблерную вставку не тронет, не переживайте. В конце концов, напишите да и проверьте!
Docendo discimus
Re: Мелкие вопросы по МК и ПЛИС.
Вопрос не в скорости УАРТа, а в скорости нарастания/спада фронтов на выходе микры. Пусть они хоть раз в секунду, хоть в три часа.КРАМ писал(а):В пределах этого "вейера"?
Какая же скорость предполагается у сего УАРТа?
Тут где-то была тема про 1-wire с термометрами подключенными "звездой" - и скорости не высокие, а звенит в "звезде" только так.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- КРАМ
- Друг Кота
- Сообщения: 25168
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Kavka писал(а):Вопрос не в скорости УАРТа, а в скорости нарастания/спада фронтов на выходе микры.
А каким образом скорость нарастания связана с работой УАРТа?
И причем тут 1-Wire? В огороде бузина...
"Звезда" по УАРТу контроллера до драйверов имеет ничтожную дальность, а значит и реактивные паразитные параметры линии.
Звон на выходе МК определяется ФРОНТОМ ГЕНЕРИРУЕМОГО СИГНАЛА. Чем круче фронт, тем сильнее звон. При прочих равных параметрах. Увеличение емкости в нагрузке УВЕЛИЧИТ длительность фронта и УМЕНЬШИТ звон. С точки зрения спектра сигнала он станет уже и волновые процессы в оставшемся спектре исчезнут за слишком малой длиной линий передачи.
С 1-Wire картина СОВЕРШЕННО другая.
Во первых, шлейфы длинные (это ВНЕсхемная линия передачи), во вторых она ВЫСОКООМНАЯ и несогласованная с волновым сопротивлением витой пары или чего там еще...
Отсюда и звон...
Re: Мелкие вопросы по МК и ПЛИС.
Во первых, подумайте, как крутизна фронта связана с со скоростью нарастания напряжения?КРАМ писал(а):Kavka писал(а):Вопрос не в скорости УАРТа, а в скорости нарастания/спада фронтов на выходе микры.
...
Звон на выходе МК определяется ФРОНТОМ ГЕНЕРИРУЕМОГО СИГНАЛА. Чем круче фронт, тем сильнее звон. При прочих равных параметрах. Увеличение емкости в нагрузке УВЕЛИЧИТ длительность фронта и УМЕНЬШИТ звон.
Во вторых, увеличение ёмкости, скажем так, на тракте точка-точка, это одно. На концах звезды это другое, и, в идеале, надо согласовывать звезду. В реальности, практически тотально, все на это забивают. Однако, пусть и редко, но встречаются вопли типа "я раньше так делал, а сейчас не работает". Поэтому об этом надо знать и быть готовым к непредвиденным последствиям. (чёт half-life вспомнился
Про 1-wire, да, может и не совсем удачный пример, как вы указали, из-за масштаба линий. Но ничего не мешает стечению обстоятельств сотворить "звенящую звезду" на плате.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- КРАМ
- Друг Кота
- Сообщения: 25168
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Крутизна фронта и есть скорость нарастания напряжения.
Это полные синонимы.
Вы не поняли о чем я спросил.
Дело в принципе работы приемника УАРТа. Ему на фронты положить.... болт...
Мажоритарному приемнику нужен ПОТЕНЦИАЛ нуля или единицы необходимой продолжительности. Какой при этом был фронт - глубоко наплевать. Звоны звезды в пределах печатной платы от МК до драйверов - максимум 10 наносекунд...
Так о какой скорости УАРТа тут идет речь?

Это полные синонимы.
Вы не поняли о чем я спросил.
Дело в принципе работы приемника УАРТа. Ему на фронты положить.... болт...
Мажоритарному приемнику нужен ПОТЕНЦИАЛ нуля или единицы необходимой продолжительности. Какой при этом был фронт - глубоко наплевать. Звоны звезды в пределах печатной платы от МК до драйверов - максимум 10 наносекунд...
Так о какой скорости УАРТа тут идет речь?

Re: Мелкие вопросы по МК и ПЛИС.
Ааа... Вон куда вы упираете! Про принцип работы УАРТа - это да. Я и не спорю.
А про 10нс - это смотря как развести дорожки и каких размеров плата. Ладно, это я уже занудствую
Просто, IMHO, меры по предотвращению "звона", так сказать, это правило хорошего тона. Но как всегда - на вкус и цвет...
А про 10нс - это смотря как развести дорожки и каких размеров плата. Ладно, это я уже занудствую
Просто, IMHO, меры по предотвращению "звона", так сказать, это правило хорошего тона. Но как всегда - на вкус и цвет...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- КРАМ
- Друг Кота
- Сообщения: 25168
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Kavka писал(а):А про 10нс - это смотря как развести дорожки и каких размеров плата.
Да как не разводи...
И размеры платы не имеют значения. Имеет значение РАССТОЯНИЕ между драйверами и МК.
Однако огромных плат с максимальным удалением драйверов и МК я чего то не встречал... Люди умнее, чем кажутся на первый взгляд...
Имеет значение КАЧЕСТВО ЗЕМЛИ на этой плате. Но плохая земля не создает звона. Плохая земля создает ПОМЕХИ ОТ ДРУГИХ СИГНАЛОВ. Поскольку суммирует токи разных сигналов и создает падение напряжения от этого тока приложенное ко входам всех этих сигналов.
Вот эти помехи СПОСОБНЫ нарушить работу УАРТа...
Re: Мелкие вопросы по МК и ПЛИС.
Можно ли реализовать на МК функцию удерживания кнопок (INT0 и INT1) в течение трех секунд и чтобы потом запускалась какая-нибудь задача.
- КРАМ
- Друг Кота
- Сообщения: 25168
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Реализовать можно.
Но только САМОМУ. Помощь в таком случае гарантируется.
Но только САМОМУ. Помощь в таком случае гарантируется.
Re: Мелкие вопросы по МК и ПЛИС.
Сделал так:
if (EIFR == 0b00000011)
или
while (EIFR==0b00000011)
//EIFR = 0b00000000; //External interrupt flag register
только при очень четком одновременном нажатии кнопок срабатывает алгоритм, а надо реализовать удержание на 3 секунды.
if (EIFR == 0b00000011)
или
while (EIFR==0b00000011)
//EIFR = 0b00000000; //External interrupt flag register
только при очень четком одновременном нажатии кнопок срабатывает алгоритм, а надо реализовать удержание на 3 секунды.
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
так и считайте, что сначала одну кнопку нажимают, а потом вторую и держат обе. от этого и пляшите. "думайте как микроконтроллер"
Ставим плюсы: )
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Код: Выделить всё
if (EIFR == 0b00000011)
или
while (EIFR==0b00000011)Что сие означает? Поясните.
Docendo discimus
Re: Мелкие вопросы по МК и ПЛИС.
Перефразирую вопрос: каким способом организовать задержку в 3 сек., т.е. какими командами, может задействовать таймер или завести переменную и инкрементировать ее в цикле или какой-то счетчик...
Просто в обработчик прерывания были вписаны эти команды и если нажата одна кнопка то в ней запускается условие и если оно совпадает т.е. флаги равны единицам то запускается команда.
pyzhman писал(а):Код: Выделить всё
if (EIFR == 0b00000011)
или
while (EIFR==0b00000011)
Что сие означает? Поясните.
Просто в обработчик прерывания были вписаны эти команды и если нажата одна кнопка то в ней запускается условие и если оно совпадает т.е. флаги равны единицам то запускается команда.
Последний раз редактировалось service47 Пт окт 25, 2013 13:14:19, всего редактировалось 1 раз.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Последний раз редактировалось pyzhman Пт окт 25, 2013 13:19:53, всего редактировалось 1 раз.
Docendo discimus
