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

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

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

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

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

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


 
Опции темы
Непрочитано 02.04.2015, 21:14  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: FAQ по STM8

Да забей! Злокопипаст! Бит OPM в регистрах есть, значит работает.
Реклама:
STM32F0 вне форума  
Непрочитано 02.04.2015, 23:29  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от STM32F0 Посмотреть сообщение
Бит OPM в регистрах есть, значит работает.
А я поверил даташиту и отрубаю в прерывании. И почему-то в самый первый запуск таймера он сразу же дает UEV, и я его убиваю. А вот при последующих запусках все ОК: генерируется импульс 1мс с заполнением 50%, захват ловит присутствие термодатчика (длительность захваченного импульса получается 650мкс).
Ща попытаюсь OPM выставить и глянуть: будет отрубаться таймер или фиг.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 03.04.2015, 01:07  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
А я поверил даташиту и отрубаю в прерывании.
Зачем? Готовь параметры импульса заранее, наперёд. Юзай прелоад.
Сообщение от eddy Посмотреть сообщение
И почему-то в самый первый запуск таймера он сразу же дает UEV, и я его убиваю.
Настраиваешь прескалер.
Потом ARR и CCRx.
Настраиваешь PWM с OCxPE.
Выставляешь URS.
Выставляешь UG.
Разрешаешь прерывания.
Разрешаешь выход.
Выставляешь ARPE.
.
После запуска таймера всё уже станет как надо. Сработало прерывание по Compare - загружаешь параметры нового импульса, по апдэйту новые параметры вступят в силу.
Сообщение от eddy Посмотреть сообщение
попытаюсь OPM выставить и глянуть: будет отрубаться таймер или фиг.
Да будет, не сомневайся.
STM32F0 вне форума  
Непрочитано 03.04.2015, 09:40  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от STM32F0 Посмотреть сообщение
Зачем?
Затем, что мне нужно по одному импульсу генерить данные (1/0) и проверять длительности (на reset/приеме).
Сообщение от STM32F0 Посмотреть сообщение
Выставляешь UG
Зачем? Оно же тут же сгенерит мне прерывание.
Сообщение от STM32F0 Посмотреть сообщение
Выставляешь ARPE.
И зачем мне буферизовать ARR? Для этого придется "насильно" впихивать установкой UG.
Сообщение от STM32F0 Посмотреть сообщение
Сработало прерывание по Compare - загружаешь параметры нового импульса
Мощей не хватит у STM8, чтобы за микросекунды успеть такое проделать.
Я проще делаю: в цикле выставляю нужные параметры, запускаю таймер на 1 такт, проверяю (если нужно) и выставляю следующий бит. Хоть задержка между битами будет разной, она не страшна — в этом суть протокола 1-wire. Зато надежно каждый бит будет проходить правильно, без необходимости глобально вырубать нафиг все прерывания на это время.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 03.04.2015, 10:07  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
мне нужно по одному импульсу генерить данные (1/0) и проверять длительности (на reset/приеме).
Сообщение от eddy Посмотреть сообщение
Зачем? Оно же тут же сгенерит мне прерывание.
Сообщение от eddy Посмотреть сообщение
зачем мне буферизовать ARR? Для этого придется "насильно" впихивать установкой UG.
Ужос! Референс читай! Работу таймера совсем не понимаем.
.
Сообщение от eddy Посмотреть сообщение
Мощей не хватит у STM8, чтобы за микросекунды успеть такое проделать.
Тануна! Картинку посмотри.
Обрати внимание на сигналы TIM_IRQ и main. Длительность положительного импульса TIM_IRQ и есть время прерывания.
Сообщение от eddy Посмотреть сообщение
Хоть задержка между битами будет разной, она не страшна — в этом суть протокола 1-wire. Зато надежно каждый бит будет проходить правильно, без необходимости глобально вырубать нафиг все прерывания на это время.
Прикалываешься? Приоритеты прерываний для чего сделаны?
Миниатюры:
Нажмите на изображение для увеличения
Название: tim_ow_6.png
Просмотров: 36
Размер:	72.6 Кб
ID:	77693  
STM32F0 вне форума  
Непрочитано 03.04.2015, 10:10  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от STM32F0 Посмотреть сообщение
Картинку посмотри.
У тебя период - 100мкс. А в 1-wire один бит длится 15-16мкс!
Сообщение от STM32F0 Посмотреть сообщение
Приоритеты прерываний для чего сделаны?
Я про ногодрыг. Во всех реализациях 1-wire ногодрыгом народ перед передачей бита отрубает все прерывания, а по завершению — врубает.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 03.04.2015, 10:26  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
У тебя период - 100мкс. А в 1-wire один бит длится 15-16мкс!
Понятно, даташит на 18В20 тоже не читался. Брось заморочки с таймером, не трать время, "Ногодрыг наше всё!"(с).
Сообщение от eddy Посмотреть сообщение
Во всех реализациях 1-wire ногодрыгом народ перед передачей бита отрубает все прерывания, а по завершению — врубает.
А если все будут вешаться? Делал ногодрыгом на СТМ8, прерывания не запрещал, вообще. Хотя динамическая индикация присутствовала.
STM32F0 вне форума  
Непрочитано 03.04.2015, 13:13  
VaStaNi
Частый гость
 
Аватар для VaStaNi
 
Регистрация: 16.05.2005
Сообщений: 29
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
VaStaNi на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
Я про ногодрыг. Во всех реализациях 1-wire ногодрыгом народ перед передачей бита отрубает все прерывания, а по завершению — врубает.
Это для тех кто прерывания не любит, т.е. любители "верхнего уровня" и готовых библиотек, кода, операционок, которые все сами делают и пр.....
по данному вопросу могу предложить "ВКУРИТЬ" мануалы по 18В20 и авторский реальноработающий код, если очень хочется постигнуть глубину дзена
__________________
Патриотизм - не болезнь, а состояние души!
VaStaNi вне форума  
Непрочитано 03.04.2015, 13:46  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

VaStaNi, мать моя женщина! Ассемблер!!! Ужас.
Лучше уж я с таймерами повоюю. Авось, если в запой не уйду, за выходные сделаю. С таймерами еще чем удобно: можно прием/передачу отдать на прерывания (правильно STM32F0 говорит), реализовав это конечными автоматами. В итоге чтобы считать температуру с датчика с заданным ID, мы просто в коде вызовем процедуру предварительной подготовки и оставим все "на самотек", периодически внутри main() проверяя флаг готовности принятых данных.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 03.04.2015, 14:05  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
С таймерами еще чем удобно: можно прием/передачу отдать на прерывания
Какие прерывания? В самом худшем случае оно одно!
STM32F0 вне форума  
 

Закладки

Метки
arm, cortex, stm32, stm8
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импульсная зарядка для авто-аккумуляторов (новодел) Falconist Источники питания и свет 1915 14.03.2024 19:56
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
STM8(S/L), первые впечатления kison STM8 1423 19.05.2018 19:23
Вопросы и замечания по топику - FAQ по PROTEUS avr123-nm-ru Proteus 291 05.06.2015 20:49
FAQ Импульсный трансформатор alberio Источники питания и свет 87 13.11.2012 18:07


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


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