Easyelectronics.ru

Электроника для всех
Текущее время: 13 авг 2020, 08:25

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 3344 ]  На страницу Пред.  1 ... 107, 108, 109, 110, 111, 112, 113 ... 134  След.
Автор Сообщение
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 01 сен 2019, 18:17 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 1517
В современных чипах разрядность шины флэшь больше, плюс столько оптимизированных буферов, конвейеров и кэшей, что код из флэш, зачастую, быстрее чем из ОЗУ выполняется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 01 сен 2019, 18:31 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Да прям уш! Все эти буферы эффективно работают только при последовательном чтении. А из SRAM скорость снижается потому, что SRAM то однопортовая. Зато в тех чипах, где SRAM разделена на несколько физических блоков, да если еще выделена ITCM RAM (F7 и выше), то вообще всё пучком.
Так что не надо очередной ля-ля!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 01 сен 2019, 18:32 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 1241
VladislavS писал(а):
В современных чипах разрядность шины флэшь больше, плюс столько оптимизированных буферов, конвейеров и кэшей, что код из флэш, зачастую, быстрее чем из ОЗУ выполняется.

Так и есть, но я же не сравниваю скорость выполнения из флеша и RAM, речь о скорости выполнения из флеша на разных частотах, т.е. с разной латентностью флеша. Например, F3 может за 2 такта прочитать данные с порта и положить в массив, но это если код выполняется из CCM или латетность флеша нулевая, а если будет 2WS, то понадобится уже 2.5 такта, как бы странно это не звучало :) В обоих случаях код выполняется достаточно быстро чтобы необходимости в NOP перед очисткой SR не было, но могло быть и так, что с 0WS скорости хватает, а при 2WS дополнительный NOP уже нужен, хотя соотношение скоростей шин осталось прежним.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 01 сен 2019, 18:41 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Уважаемые, вы забываете, что буфера предвыборки эффективны только для последовательного чтения. Это даже в мануале описано - как только встречается обращение дальше, чем за глубину буфера, тут конвейер и падает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 01 сен 2019, 19:41 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
Давайте упростим задачу. Абстрагируемся от прерываний вообще.
Есть просто таймер

Код:
RCC->APB1ENR |= RCC_APB1ENR_TIM5EN;
TIM5->PSC   = 42000-1;
TIM5->ARR   = 500;
TIM5->CR1   = TIM_CR1_CEN;

    while(1)
    {
      NOP
    }


Вот при таком коде основной счетный регистр таймера CNT должен же инкрементироваться хотя бы раз в 1мс, верно?
Почему же если ставить точку основа в цикле на NOP (которое срабатывает каждую 1мкс), регистр CNT показывает произвольное значение?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 01 сен 2019, 21:51 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 1517
Потому что пока ты любуешься на него в отладчике он продолжает тикать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 01 сен 2019, 22:59 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Есть специальные биты остановки счетчиков при брекпоинте отладки. Находятся они в регистрах DBGMCU (глава Debug референс-мануала)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 01 сен 2019, 23:21 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
VladislavS писал(а):
Потому что пока ты любуешься на него в отладчике он продолжает тикать.

вот это поворот... )
думал что останов это останов всего и вся

BusMaster писал(а):
Есть специальные биты остановки счетчиков при брекпоинте отладки. Находятся они в регистрах DBGMCU (глава Debug референс-мануала)

а можно более подробно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 01 сен 2019, 23:33 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Так это не секрет. Регистр DBGMCU->APB1FZ, поставить бит DBGMCU_APB1_FZ_DBG_TIM5_STOP. После этого счет TIM5 будет останавливаться вместе с остановкой отладки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 02 сен 2019, 08:52 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 1517
engineer83 писал(а):
вот это поворот... )
Да не мучай ты этот таймер. Всё у тебя правильно запрограммировано. Выведи в прерывании дёргание ногой и любым средством визуализации (светодиод, логический анализатор, осциллогляд) посмотри частоту. Ну и не забывай бит в прерывании чистить не последней командой и всё будет нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 02 сен 2019, 09:32 
Старожил
Аватара пользователя

Зарегистрирован: 11 авг 2016, 20:52
Сообщения: 753
Откуда: GMT+6
VladislavS писал(а):
engineer83 писал(а):
бит в прерывании чистить не последней командой
А где про это почитать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 02 сен 2019, 10:15 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 703
Откуда: Германия
Kelvin писал(а):
VladislavS писал(а):
engineer83 писал(а):
бит в прерывании чистить не последней командой
А где про это почитать?


Тут, например.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 02 сен 2019, 13:15 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
ок, проверю не в отладке.
Чё-то я туплю.
Вот так включаю-выключаю ногу
GPIOA->BSRR=GPIO_BSRR_BS_6
GPIOA->BSRR=GPIO_BSRR_BR_6
А как на регистрах сделать простую инверсию вывода порта?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 02 сен 2019, 13:25 
Старожил
Аватара пользователя

Зарегистрирован: 17 дек 2014, 23:08
Сообщения: 602
Откуда: Nowhere
GPIOA->ODR ^= GPIO_ODR_ODR_6;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 02 сен 2019, 13:41 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
LonelyWolf, спасибо.

Ещё вопрос. У меня часики на F4 таки спешат на 3,5сек/сутки. Плата с F407 китайская, черная. Там стоят конденсаторы 12пФ. Мне же по идее нужно ещё больше нагрузить емкостями, хотя везде советуют 6пФ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 02 сен 2019, 17:52 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Вначале надо проверить значение предделителей. Суммарный коэфф. деления должен быть равен 32768. В референс-мануале в главе RTC написано, какие значения должны стоять в предделителях.
Во-вторых, если частота кварца не точная, есть цифровая калибровка счетчика RTC. В той же главе мануала написано, как это делается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 02 сен 2019, 18:12 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
BusMaster писал(а):
Вначале надо проверить значение предделителей. Суммарный коэфф. деления должен быть равен 32768. В референс-мануале в главе RTC написано, какие значения должны стоять в предделителях.
Во-вторых, если частота кварца не точная, есть цифровая калибровка счетчика RTC. В той же главе мануала написано, как это делается.

что касается делителей, там всё как по примерам
Sync = 255
Async = 127
Хочу обойтись без калибровки. Грамотная аналоговая часть - залог успеха. У других-то работает без калибровки.
Тут либо конденсаторы 12пФ вносят своё, либо плату нужно тщательно отмыть. Либо заменить кварц.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 03 сен 2019, 16:49 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Увеличение ёмкости конденс. уменьшает частоту. Без калибровки все равно будет погрешность, где-то больше, где-то меньше.
3,5 с / 86400 с = 40 ppm, то есть цифровая калибровка на -40 ppm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 08 сен 2019, 14:26 
Старожил
Аватара пользователя

Зарегистрирован: 02 май 2017, 18:54
Сообщения: 275
https://open-plc-com.github.io/open-plc ... oc_ru.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 08 сен 2019, 15:03 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Ну зашибись! Дайте мене "Гэ-ТАГ" на стээмку 32103 !
Это как в анекдоте: "Уважаемый издатель! Пишу вам из больницы. В вашем самоучителе по пилотированию я обнаружил опечатку!"
Кстати, по третьему пункту - тоже ерунда, если не сказать больше.


Вложения:
Безымянный.png
Безымянный.png [ 17.19 Кб | Просмотров: 401 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 08 сен 2019, 16:04 
Старожил
Аватара пользователя

Зарегистрирован: 02 май 2017, 18:54
Сообщения: 275
BusMaster писал(а):
Ну зашибись! Дайте мене "Гэ-ТАГ" на стээмку 32103 !
Это как в анекдоте: "Уважаемый издатель! Пишу вам из больницы. В вашем самоучителе по пилотированию я обнаружил опечатку!"
Кстати, по третьему пункту - тоже ерунда, если не сказать больше.

Высер засчитан!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 08 сен 2019, 16:08 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Этот "высер" к тому, что если собираетесь учить других, то вначале изучите предмет сами и не допускайте досадных ошибок, которые сводят на нет ваши же эпистолярные усилия.
Подобного ошибочного материала в сети и без того хватает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 08 сен 2019, 16:16 
Старожил
Аватара пользователя

Зарегистрирован: 02 май 2017, 18:54
Сообщения: 275
BusMaster писал(а):
Этот "высер" к тому, что если собираетесь учить других, то вначале изучите предмет сами и не допускайте досадных ошибок, которые сводят на нет ваши же эпистолярные усилия.
Подобного ошибочного материала в сети и без того хватает.

Не ошибается тот, кто ничего не делает... Ну очепятка и чЁ?!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 08 сен 2019, 16:21 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
ЧЁ по-китайски жопа. И ошибки принято исправлять. А кто поручится, что в тексте и дальше нет подобных "опечаток" или вообще ошибок?
Тем более, что с подобными "уроками" писатели опоздали лет эдак на 7-10...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 для чайников
СообщениеДобавлено: 08 сен 2019, 16:43 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4713
Откуда: КЧР, поселок Нижний Архыз
BusMaster писал(а):
Тем более, что с подобными "уроками" писатели опоздали лет эдак на 7-10...

Подобные "уроки" выдают в "писателе" тушку возрастом 7-10 лет ☺

Ох ты ж, блин! Зачем я по той ссылке прошел?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3344 ]  На страницу Пред.  1 ... 107, 108, 109, 110, 111, 112, 113 ... 134  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB