Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 15.02.2011, 03:19   #601
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
Самое забавное - CV хоть и не образец прямых рук, но куда правильнее формирует интервалы на шине. Это к
Сообщение от omercury
на 1wire такую же пургу выдаёт, как CV?
Это пустыми циклами - правильно?
И целую секунду ничего, кроме этого не делает. При миллисекундных интервалах задержка в микросекунды не критична. Всё замечательно перекрывается. В других прерываниях будет только изменение нескольких переменных и флагов. При срабатывании защиты измерять температуру уже не обязательно. Источники нагрева отключаются.

Я бы вынес эти измерения в мелкую тиньку и не парился. Считал результаты побыстрому по синхронному интерфейсу из основного цикла - и применяй как хочешь. Но это я. А там всё по-другому.
Реклама:

Последний раз редактировалось omercury; 15.02.2011 в 03:23.
omercury вне форума  
Непрочитано 15.02.2011, 03:27   #602
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию 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 микросекунды?
kison вне форума  
Непрочитано 15.02.2011, 03:33   #603
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
Почему тут 752 микросекунды?
Время на измерение. с запасом.
omercury вне форума  
Непрочитано 15.02.2011, 03:34   #604
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от omercury Посмотреть сообщение
Время на измерение. с запасом.
Измерение чего? И почему именно 752 микросекунды, а не 700?

Последний раз редактировалось kison; 15.02.2011 в 03:41.
kison вне форума  
Непрочитано 15.02.2011, 03:41   #605
Cybermaker
Вид на жительство
 
Регистрация: 21.08.2007
Сообщений: 318
Сказал спасибо: 12
Сказали Спасибо 67 раз(а) в 61 сообщении(ях)
Cybermaker на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
Ну вот давайте рассмотрим функционирование Вашей "многозадачности".
Сообщение от kison Посмотреть сообщение
Вы ушли в его обработчик, в это время взвелся флаг от прерывания вашего таймслота, но оно не будет обработано пока не закончится процедура индикации.
Вот это и есть неверный подход к программированию. В прерывании торчать долго нельзя. Зачем ждать конца индикации ? Настраиваем один из таймеров на реалтайм и пишем в нём state machine для индикатора.

Сообщение от kison Посмотреть сообщение
Сама по себе такая многозадачность ущербна.
Такая как вы описали - безусловно ущербна. Хотя лично у меня есть удачная реализация на меге64(по количеству ног подошла): ведущий rs485 с обработчиком событий слэйвов(до 8 шт точно проблем не будет); 4 урезанных 1-wire для считывателей; 2 псевдо 1-wire для пультов на 8 кнопок и 8 сд. весь обмен в обе стороны за стандартный для 1-wire инф фрейм; ватчдог для включения и сброса управляющего компа; 4 мощных ключа. Всё работает чудесно: 8к кода.

Сообщение от kison Посмотреть сообщение
Вы можете вместо 5мкс интервала получить например 20. Легко. А если это запись бита, то получите вместо 1 нуль на шине.
Вы переоцениваете точность 1-wire

Последний раз редактировалось Cybermaker; 15.02.2011 в 03:44.
Cybermaker вне форума  
Непрочитано 15.02.2011, 03:41   #606
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
Измерение чего?
Температуры. Датчиками.
Это команда DS-кам начать измерение температуры.
Кстати, за время передачи этой команды произойдёт 35 прерываний таймера - 3 на команду сброса и по 16 на каждый переданный байт. За это время МК успеет ещё много чего сделать. А ещё + 752 микросекунды МК совершенно свободен делать то, что хочет.

Последний раз редактировалось omercury; 15.02.2011 в 03:53.
omercury вне форума  
Непрочитано 15.02.2011, 03:49   #607
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от kison Посмотреть сообщение
И почему именно 752 микросекунды, а не 700?
Во-первых потому, что надо 750, а во-вторых больше - не меньше. и таймер настраивается проще.

Кстати, разговор вот об этом:
Начало - https://kazus.ru/forums/showthread.php?t=20294&page=1
Продолжение - https://kazus.ru/forums/showthread.php?t=20653

Вы там тоже были...
omercury вне форума  
Непрочитано 15.02.2011, 03:49   #608
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от omercury Посмотреть сообщение
А ещё + 752 микросекунды МК совершенно свободен делать то, что хочет.
Вот Вам картинка. Можете тут русскими словами написать то, что подчеркнуто красным?
Миниатюры:
Нажмите на изображение для увеличения
Название: 18s20.PNG
Просмотров: 39
Размер:	14.5 Кб
ID:	18394  
kison вне форума  
Сказали "Спасибо" kison
omercury (15.02.2011)
Непрочитано 15.02.2011, 03:55   #609
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Сообщение от Cybermaker Посмотреть сообщение
Вот это и есть неверный подход к программированию. В прерывании торчать долго нельзя. Зачем ждать конца индикации ?
Скачайте программу и посмотрите. Я описываю не отсебятину, а то что там вижу.
https://kazus.ru/forums/showpost.php...&postcount=573

Сообщение от Cybermaker Посмотреть сообщение
Вы переоцениваете точность 1-wire
Нет, я смотрю документацию. Выборка слейвом может быть от 15 до 60мкс от начала таймслота. Т.е. на 15-ой микросекунде там должен быть установившийся лог. уровень. Возьмем 3мкс на переходный процесс и выходит что даже 7мкс в добавок к 5мкс могут стать критичными. Это чуть больше 100 тактов.
kison вне форума  
Непрочитано 15.02.2011, 03:57   #610
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Atmel - в цинковый ящик?!!!

Да, действительно косяк. Надо поправить. Спасибо.
omercury вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Elenberg MX-339. Черный ящик или как поставить USB Electric75 Аудиотехника 4 18.02.2011 12:00
Atmel, Microchip и Криптография skayt29 Микроконтроллеры, АЦП, память и т.д 13 04.07.2010 16:45


Часовой пояс GMT +4, время: 14:18.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot