Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
15.02.2011, 03:19
|
#601
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Сообщение от kison
|
Самое забавное - CV хоть и не образец прямых рук, но куда правильнее формирует интервалы на шине. Это к
Сообщение от omercury
на 1wire такую же пургу выдаёт, как CV?
|
Это пустыми циклами - правильно?
И целую секунду ничего, кроме этого не делает. При миллисекундных интервалах задержка в микросекунды не критична. Всё замечательно перекрывается. В других прерываниях будет только изменение нескольких переменных и флагов. При срабатывании защиты измерять температуру уже не обязательно. Источники нагрева отключаются.
Я бы вынес эти измерения в мелкую тиньку и не парился. Считал результаты побыстрому по синхронному интерфейсу из основного цикла - и применяй как хочешь. Но это я. А там всё по-другому.
Последний раз редактировалось omercury; 15.02.2011 в 03:23.
|
|
|
|
15.02.2011, 03:27
|
#602
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Сообщение от omercury
|
Это пустыми циклами - правильно?
|
Зато точно.
Сообщение от omercury
|
И целую секунду ничего, кроме этого не делает.
|
Есть косяки, куда ж без них. Я не написал что "CV делает правильно". А всего лишь - правильнее, чем делаете Вы.
Сообщение от omercury
|
При миллисекундных интервалах задержка в микросекунды не критична.
|
Конечно. Но у Вас то микросекундные. OW терпеливая шина, но не надо над ней ТАК издеваться.
Сообщение от omercury
|
В других прерываниях будет только изменение нескольких переменных и флагов.
|
Вход/выход тоже время. Плюс их может пара взвестись.
И все же посмотрите насколько правильно это:
Код:
|
w1StartTemp:
rcall w1Reset
ldi w1rdbuf,$CC
rcall w1WriteByte
ldi w1rdbuf,$44
rcall w1WriteByte
ldi w1del,w1wait752us ;752 микросекунды
rcall Del64 ;Задержка
ret |
Почему тут 752 микросекунды?
|
|
|
|
15.02.2011, 03:33
|
#603
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Сообщение от kison
|
Почему тут 752 микросекунды?
|
Время на измерение. с запасом.
|
|
|
|
15.02.2011, 03:34
|
#604
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Сообщение от omercury
|
Время на измерение. с запасом.
|
Измерение чего? И почему именно 752 микросекунды, а не 700?
Последний раз редактировалось kison; 15.02.2011 в 03:41.
|
|
|
|
15.02.2011, 03:41
|
#605
|
Вид на жительство
Регистрация: 21.08.2007
Сообщений: 318
Сказал спасибо: 12
Сказали Спасибо 67 раз(а) в 61 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Последний раз редактировалось Cybermaker; 15.02.2011 в 03:44.
|
|
|
|
15.02.2011, 03:41
|
#606
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Сообщение от kison
|
Измерение чего?
|
Температуры. Датчиками.
Это команда DS-кам начать измерение температуры.
Кстати, за время передачи этой команды произойдёт 35 прерываний таймера - 3 на команду сброса и по 16 на каждый переданный байт. За это время МК успеет ещё много чего сделать. А ещё + 752 микросекунды МК совершенно свободен делать то, что хочет.
Последний раз редактировалось omercury; 15.02.2011 в 03:53.
|
|
|
|
15.02.2011, 03:49
|
#607
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Сообщение от kison
|
И почему именно 752 микросекунды, а не 700?
|
Во-первых потому, что надо 750, а во-вторых больше - не меньше. и таймер настраивается проще.
Кстати, разговор вот об этом:
Начало - https://kazus.ru/forums/showthread.php?t=20294&page=1
Продолжение - https://kazus.ru/forums/showthread.php?t=20653
Вы там тоже были...
|
|
|
|
15.02.2011, 03:49
|
#608
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Сообщение от omercury
|
А ещё + 752 микросекунды МК совершенно свободен делать то, что хочет.
|
Вот Вам картинка. Можете тут русскими словами написать то, что подчеркнуто красным?
|
|
|
|
15.02.2011, 03:55
|
#609
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Сообщение от Cybermaker
|
Вот это и есть неверный подход к программированию. В прерывании торчать долго нельзя. Зачем ждать конца индикации ?
|
Скачайте программу и посмотрите. Я описываю не отсебятину, а то что там вижу.
https://kazus.ru/forums/showpost.php...&postcount=573
Сообщение от Cybermaker
|
Вы переоцениваете точность 1-wire
|
Нет, я смотрю документацию. Выборка слейвом может быть от 15 до 60мкс от начала таймслота. Т.е. на 15-ой микросекунде там должен быть установившийся лог. уровень. Возьмем 3мкс на переходный процесс и выходит что даже 7мкс в добавок к 5мкс могут стать критичными. Это чуть больше 100 тактов.
|
|
|
|
15.02.2011, 03:57
|
#610
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Atmel - в цинковый ящик?!!!
Да, действительно косяк. Надо поправить. Спасибо.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:18.
|
|