Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Изучаем STM32 Cortex M3

Непрочитано 29.10.2014, 02:05  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Действительно! Атмэловско-пиковский ногодрыг на СТМ такой няшный, аж слеза пробивает. Просто загляденье и радость души!
Реклама:
STM32F0 вне форума  
Непрочитано 29.10.2014, 02:12  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от STM32F0 Посмотреть сообщение
Действительно! Атмэловско-пиковский ногодрыг на СТМ такой няшный, аж слеза пробивает. Просто загляденье и радость души!
Человек с таким ником должен был постыдится хвалить битбанг как минимум в приличном обществе. У нулевой серии его нет.
Easyrider83 вне форума  
Непрочитано 29.10.2014, 02:15  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Easyrider83, мне на изиэлектрониксе подсказали самый кошерный способ реализации 1-wire: на таймере с DMA. DMA дергается по прерыванию таймера в конце передачи очередного бита и устанавливает нужную скважность в соответствии со следующим значением из массива. На другом канале этого же (или другого) таймера работает захват, помещая длительности единички в другой массив.
В итоге после окончания передачи дергается прерывание и выставляется флаг "готово".
Ну, а в основном цикле как только мы такой флаг получили, обрабатываем массив полученных данных, преобразуя его в байтики.

Правда, я так и не дотукал, как это все настроить. Пилю на чертовом UART'е. А там, к сожалению, некоторые процедуры необходимо делать с ожиданием заполнения входного буфера.
Черезжопность.
Но что поделать? Рукожопие черезжопностью характеризуется: у одних рукожопых 1-wire через ногодрыг с delay(), у других — через UART с ожиданием (либо заполнения входного буфера, либо окончания передачи по DMA)...
А у нерукожопых все работает. Но уж очень хитро как-то.


P.S. Выставлять явные задержки (или ждать чего-то, как я быдлокожу) — это как вернуться в эпоху DOS'а: все сидят, и ждут, пока дискетка доформатируется... А тем временем какой-нибудь концевик выламывается двигателем...
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!

Последний раз редактировалось eddy; 29.10.2014 в 02:19.
eddy вне форума  
Непрочитано 29.10.2014, 02:19  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

eddy, тратить DMA на 1-wire - это примерно тоже самое, что systic на паузы. Но ваше право.
У меня STM8 чисто на прерываниях эмулирует DS1822, передавая вместо температуры влажность с I2c датчика SI7005 и еще кое-какие полезные байты.
Easyrider83 вне форума  
Непрочитано 29.10.2014, 02:28  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
eddy, тратить DMA на 1-wire - это примерно тоже самое, что systic на паузы.
Можно и вручную в прерываниях выполнять функции DMA. А вообще, надо бы попробовать с DMA. Сдается мне, будет классно!
Правда, как реализовать операцию discovery через DMA, я не знаю. Но она, к счастью, не так уж и часто выполняется — можно и забить на всех, пока будет эта операция работать.
Все остальное, ясен пень, в фоне должно делаться. Не хватало еще подвесить систему на время чтения очередного датчика...
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 29.10.2014, 03:15  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
Человек с таким ником должен был постыдится хвалить битбанг как минимум в приличном обществе.
Так кто-то же говорил про:
Цитата:
Куда форум катится?
Ладно когда кухарки говорят о задержках, а тут? Мне уже стыдно!
STM32F0 вне форума  
Сказали "Спасибо" STM32F0
dosikus (29.10.2014)
Непрочитано 29.10.2014, 11:38  
swat24
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

тратить ЮСАРТ и ДМА на обработку датчика температуры (при считывании раз в пару минут) как-то не очень правильно. А так у меня часы работают в фоне, таймеры тоже. Единственное, для чего необходимы задержки это датчик температуры...

по прерываниям от таймера я пробовал делать задержки для датчика, но мкс он не выставляет, минимум 1 мс. Похоже это еще и из-за обработки прерываний.

Последний раз редактировалось swat24; 29.10.2014 в 11:43.
swat24 вне форума  
Непрочитано 29.10.2014, 12:10  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от swat24 Посмотреть сообщение
тратить ЮСАРТ и ДМА на обработку датчика температуры (при считывании раз в пару минут) как-то не очень правильно. А так у меня часы работают в фоне, таймеры тоже. Единственное, для чего необходимы задержки это датчик температуры...
ЮАРТ, ДМА. таймеры это всего лишь ресурсы. И если они свободны, то почему их не тратить? Зачем над ними чахнуть злым Кощеем? Потом, юзать только задержки как-то однобоко, нет выбора возможности реализации, что неизбежно скажется в самый неподходящий момент.
STM32F0 вне форума  
Непрочитано 29.10.2014, 12:24  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
тратить DMA на 1-wire - это примерно тоже самое, что systic на паузы. Но ваше право.
У меня STM8 чисто на прерываниях эмулирует DS1822,
Здесь фишка в том что аппаратное все ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 29.10.2014, 19:49  
Tronix286
Частый гость
 
Регистрация: 23.04.2014
Сообщений: 20
Сказал спасибо: 4
Сказали Спасибо 1 раз в 1 сообщении
Tronix286 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от eddy Посмотреть сообщение
это как вернуться в эпоху DOS'а: все сидят, и ждут, пока дискетка доформатируется... А тем временем какой-нибудь концевик выламывается двигателем...
В ДОС были прерывания (хардварные и софтварные), таймер. Если никто их не перехватывал и не обрабатывал - ССЗБ. ДОС это вообще офигенная ось, на самом деле, для линейных задач.
Tronix286 вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.