Easyelectronics.ru

Электроника для всех
Текущее время: 16 окт 2019, 07:42

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

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

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


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

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


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

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

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


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

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


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

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

Код:
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
Сообщения: 1002
Потому что пока ты любуешься на него в отладчике он продолжает тикать.


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

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


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

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

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

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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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

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


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

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


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

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

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


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

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


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

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


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

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


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

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

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


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

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


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

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

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


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

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


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

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

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

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


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

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


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

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


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

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

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