Например TDA7294

Форум РадиоКот • Просмотр темы - STM32 новичку в ARM что к чему
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пн июн 24, 2019 20:23:30

Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 5523 ]     ... , , , 275, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 15:30:45 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
Ну вот объясни, зачем было марать нам мониторы вот этой какашкой

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 15:47:19 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 617
Рейтинг сообщения: 0
Ok, давай сделаем многозначительную паузу. Глядишь от этого цикл из трёх ассемблерных команд заиграет новыми красками :)))


Вернуться наверх
 
JLCPCB, всего $2 за 10 ПП любого цвета!

Более 600 000 заказчиков по всему миру! Более 10 000 заказов в день!

Скидка до $20 на доставку для первого заказа:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 16:38:42 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
То-то смеху будет, когда заиграет. Не ухудшайте своего бедственного положения, мой вам совет.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Сб май 04, 2019 09:09:06 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 10
Рейтинг сообщений: 39
Зарегистрирован: Ср мар 14, 2007 02:50:10
Сообщений: 2151
Рейтинг сообщения: 0
Подскажите пожалуйста, есть прошивка для STM32F042C4T6, тактируется от внешнего кварца на 16мГц. Будет ли она работать в чипе STM32F072C8T6?


Вернуться наверх
 
Литиевые батарейки Fanso для промышленного применения: устойчивость к высоким температурам

Надежные литиевые ХИТ производства Fanso для широкого круга применений, в том числе в промышленности, способны работать в самых жестких условиях. Основные требования, предъявляемые к автономным источникам питания – это длительность хранения и работы, высокая удельная емкость, а также защита от воздействия таких внешних факторов как, температура и влажность.
Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Сб май 04, 2019 12:59:50 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 617
Рейтинг сообщения: 0
Будет.


Вернуться наверх
 
Приглашаем на вебинар «Создание беспроводных устройств на системах-на-кристалле семейства SimpleLink компании TI»

Компания Компэл, совместно с Texas Instruments приглашают 26 июня принять участие в вебинаре, где инженер по применению беспроводных технологий компании TI расскажет, как на новых беспроводных системах можно реализовать несколько полезнейших в повседневной жизни функций для ваших устройств.
С развитием элементной базы TI становится возможной реализация более удобных, функциональных и безопасных систем, недоступных ранее.
Вебинар проводит инженер по применению беспроводных технологий в TI Мари Хернес(будет дублированный перевод).
Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Сб май 04, 2019 13:11:15 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 10
Рейтинг сообщений: 39
Зарегистрирован: Ср мар 14, 2007 02:50:10
Сообщений: 2151
Рейтинг сообщения: 0
Спасибо!


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Сб май 04, 2019 21:20:48 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
Компактный код для организации микросекундных задержек по таймеру на STM32F0:

Код:
__STATIC_INLINE void udelay(uint32_t micros) {
  TIM14->SR = TIM14->CNT = 0;
  TIM14->ARR = micros * 8 - 1;
  while (TIM14->CR1 = TIM14->SR + 1 & TIM_SR_UIF) { ; }
}


Можно даже без оформления в процедуру или макрос вставлять в текст программы по мере надобности. Подразумевается, что рабочая частота мк равна 8мгц и тактирование TIM14 включено. Из любопытного, советую обратить внимание на то, каким образом запускается и останавливается таймер. Чем то это напоминает "трюк" из предыдущей загадки. Специалистам по предупреждениям компилятора уже можно начинать голосить. Тут тоже будет предупреждение внутри while().


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Сб май 04, 2019 22:21:20 
Опытный кот

Карма: 13
Рейтинг сообщений: 138
Зарегистрирован: Вс июн 19, 2016 10:32:03
Сообщений: 792
Рейтинг сообщения: 0
Компактный код для организации микросекундных задержек по таймеру на STM32F0

Так не проще?
Код:
__STATIC_INLINE void udelay(uint32_t us)
{
   TIM14->CNT = 0;
   TIM14->CR1 = TIM_CR1_CEN;
   while (TIM14->CNT < us * 8 - 6) {}
   TIM14->CR1 = 0;
}


Вернуться наверх
 
Prist.ru предлагает скидку всем частным лицам при покупке приборов АКИП, GW Instek, APPA (кроме осциллографов АКИП-4115/1А, GDS-71102)!

Интересные новинки уже на складе:

Осциллограф АКИП-4126Е

Многоканальные источники питания серии GPP

Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Сб май 04, 2019 23:15:50 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
А чем проще-то ? Четыре строки против трех. Какие-то шестерки неизвестного свойства. Да и не по канону как-то -- таймер в железе умеет считать до нужной позиции, чтобы не заниматься этим в софтах.


Вернуться наверх
 
Купить электронные компоненты в LCSC

Отправка со склада через 4 часа после заказа!
900 000 пользователей, 3000+ заказов в день!
Зарегистрируйтесь сегодня и получите скидку 8 долларов на первый заказ!
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Сб май 04, 2019 23:39:42 
Опытный кот

Карма: 13
Рейтинг сообщений: 138
Зарегистрирован: Вс июн 19, 2016 10:32:03
Сообщений: 792
Рейтинг сообщения: 0
А чем проще-то ? Четыре строки против трех. Какие-то шестерки неизвестного свойства.

Мой пример предельно простой, генерируемый код будет чуть меньше и никаких предупреждений компилятора(у меня еще и подчеркивание добавляется). Шестерка там нашару взята, чтобы примерно компенсировать время прошедшее после чтения CNT, но она точно лучше единички.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Сб май 04, 2019 23:51:24 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
Тогда так:

Код:
__STATIC_INLINE void u_delay(uint32_t us) {
   TIM14->CNT = 0;
   while (TIM14->CR1 = (TIM14->CNT < us * 8 - 6)) { ; }
}

или даже так:

Код:
#define U_DELAY(US) for(TIM14->CNT = 0; TIM14->CR1 = TIM14->CNT < (US) * 8 - 6;) { ; }

:-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс май 05, 2019 00:08:55 
Опытный кот

Карма: 13
Рейтинг сообщений: 138
Зарегистрирован: Вс июн 19, 2016 10:32:03
Сообщений: 792
Рейтинг сообщения: 0
Тогда так:

Вообще ты прав, правильнее проверять флаг, потому что если задана большая задержка и какое-то тяжелое прерывание будет длиться до переполнения таймера, то он начнет ждать по-новой... Но тогда уже так, в байтах все равно размер одинаковый:
Код:
__STATIC_INLINE void udelay(uint32_t micros)
{
   TIM14->SR = TIM14->CNT = 0;
   TIM14->ARR = micros * 8 - 1;
   TIM14->CR1 = TIM_CR1_CEN;
   while (!TIM14->SR) {}
   TIM14->CR1 = 0;
}

Больше на 2 строки, но понятно и никто волнистой линией ничего не подчеркивает :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс май 05, 2019 00:25:00 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
Не. В этом варианте ошибка в
Код:
while (!TIM14->SR) {}

С первым тиком таймера в TIM14_SR встанет флаг CC1IF и цикл закончится.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс май 05, 2019 00:50:39 
Опытный кот

Карма: 13
Рейтинг сообщений: 138
Зарегистрирован: Вс июн 19, 2016 10:32:03
Сообщений: 792
Рейтинг сообщения: 0
Код:
while (!TIM14->SR) {}

С первым тиком таймера в TIM14_SR встанет флаг CC1IF и цикл закончится.

Нет, если в CCR1 ноль, но флаг выставится вместе с апдейтом, потому что там проверка на равенство, то что после первого цикла в счетчике станет 1 и она больше 0 значения не имеет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс май 05, 2019 01:38:06 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
Хотя, да. Согласен.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Вопрос по таймеру в захвате
СообщениеДобавлено: Пн май 06, 2019 21:04:57 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
В данный момент проверить никак, а вопрос чешется. Суть же вот в чем: на F0 два канала таймера в режиме захвата можно скоммутировать к одному входному пину. Так делают, например, для того, чтобы измерять период следования и длительность импульсов на этом входе. Метода простая, понятная и есть масса информации по данному вопросу. Мне же тут подумалось о другом: что получится, если с первого канала к данному пину подключить не вход, а выход, предварительно переведя канал на формирование шим-сигнала ? Будет второй канал иметь возможность делать захват фронтов этого шим-сигнала? А такой же захват, если первый канал отключить и дрыгать пином "вручную" ? Чет нифига в интернетах не могу найти подробностей на эту тему.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пн май 06, 2019 23:10:54 
Поставщик валерьянки для Кота

Карма: 45
Рейтинг сообщений: 557
Зарегистрирован: Пн апр 06, 2015 12:01:53
Сообщений: 2322
Откуда: москва, уфа
Рейтинг сообщения: 2
А чем проще-то ? Четыре строки против трех
например отсутствием неочевидных конструкций а-ля "я у мамы кулхацкер" :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт май 07, 2019 22:25:01 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
Что такое "неочевидные конструкции" ? Для кого они "неочевидные"?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 08, 2019 06:00:29 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 617
Рейтинг сообщения: 0
Да для тебе же самого. Мы то поржём и дальше пойдём, а тебе в этом вариться. За примером далеко ходить не надо. Ты так и не объяснил, зачем вместо простого
Код:
for(;;) GPIOC->ODR = TIM2->CNT & GPIO_ODR_ODR13;
пишешь подобную дичь?
Код:
for(__O int *i = &GPIOC->ODR;; *i = TIM2->CNT & GPIO_ODR_ODR13);
Думаешь страница перевернулась и все забыли?

Так вот, простой и понятный код:
- содержит меньше ошибок;
- проще отлаживать и в последствии сопровождать;
- лучше переносим;
- более эффективно оптимизируется компилятором;
- и т.д. и т.п.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 08, 2019 07:18:58 
Друг Кота

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 0
Да для тебе же самого. Мы то поржём и дальше пойдём, а тебе в этом вариться. За примером далеко ходить не надо. Ты так и не объяснил, зачем вместо простого
Код:
for(;;) GPIOC->ODR = TIM2->CNT & GPIO_ODR_ODR13;
пишешь подобную дичь?
Код:
for(__O int *i = &GPIOC->ODR;; *i = TIM2->CNT & GPIO_ODR_ODR13);
Думаешь страница перевернулась и все забыли?

Я думаю, что вы не смогли разобраться, вам обидно и от этого гоните волну. Забыли/незабыли -- воопрос вообще не стоит. Вопрос здесь больше в том, зачем вы смешиваете два разных случая и делаете вид, будто это один? Набросить, хоть чего нибудь? Ваше право.

Цитата:
Так вот, простой и понятный код:
- содержит меньше ошибок;
...

Похоже на "заговор на удачу".


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 5523 ]     ... , , , 275, ,  

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: Sergi и гости: 7


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y