@ru_electronics

Страница 354 из 718
Aleksander
01.08.2017
08:47:30
А там разве не 1 мгц частота?
По теореме Котельникова, частота дискретизации выше частоты последней гармоники, умноженнной на 2, не нужна. Предел слышимости где-то около 20 кГц, так что там 44 кГц.

Google
Aleksander
01.08.2017
08:49:49
Ну для шим-цап - это может быть, да

Aleksander
01.08.2017
08:50:44
Ну ок. Короче, это возможно.

Artem
01.08.2017
08:53:15
я не смог на stm32f4 настроить частоту 44, только 48кгц. Там не получается делители так выставить

для таймера

Danil
01.08.2017
08:54:13
для таймера
Поставь в 10 раз быстрее, и в таймере счетчик

Artem
01.08.2017
08:54:41
попробуй посчитай. Я точной формулы не помню, но 44100гц там никак не выходило при моей частоте камня

можно получить примерно, но не точно. А 48кгц точно получается

Danil
01.08.2017
08:55:49
Любую частоту можно поставить, ниже частоты таймера, но дергать цап в ручную

Какая частота камня?

Artem
01.08.2017
08:56:30
168

Danil
01.08.2017
08:56:44
Ее можно менять? Pll

Artem
01.08.2017
08:57:05
А дык ты еще и не настраивал но с мнением набежал?

Google
Artem
01.08.2017
08:57:09
можно

Danil
01.08.2017
08:58:13
Я настраивал, чего же ты кусакшься, я тебе один вариант предложил, над вторым думаю

Artem
01.08.2017
08:58:17
ща попробую найти формулу

Я настраивал, чего же ты кусакшься, я тебе один вариант предложил, над вторым думаю
я не кусаюсь, Просто ты попробуй расчеты сделать. У тебя там ровно 44100 не выйдет

там хоть 10 хоть сколько делай

Danil
01.08.2017
09:00:18
Делим на 168 от мегагерца проще плесать, но дергать уже тригер вручную, дай посчитать

Artem
01.08.2017
09:00:58
посчитай

опять же ты не 168 делишь

для примера TIM6 висит на APB1

от частоты шины и считай

TIM6_TimeBase.TIM_Period = 1; TIM6_TimeBase.TIM_Prescaler = 875 - 1; TIM6_TimeBase.TIM_ClockDivision = 0; TIM6_TimeBase.TIM_CounterMode = TIM_CounterMode_Up;

у меня вот так получилось. Это для частоты 48кгц

Danil
01.08.2017
09:02:27
Я в таймере счетчик завел

В прерывании,

Artem
01.08.2017
09:04:25
не очень понимаю чем оно принципиально отличается от периода. Ну да ладно. Вообще у stm32f4 есть специальная тема для генерации стандартных частот дескритизации, как я понимаю. Для внешних DAC

PLLI2S

http://www.st.com/content/ccc/resource/technical/document/application_note/2a/3d/ea/2a/97/4a/4a/96/DM00039457.pdf/files/DM00039457.pdf/jcr:content/translations/en.DM00039457.pdf 2.2.3

Dolphin
01.08.2017
09:14:31
ну будет у тебя 44099

Artem
01.08.2017
09:15:51
точность не? Сэмплировано было с частотой 44100 и надо воспроизводить с такой же. Но есть это не критично то похуй конечно

Google
Artem
01.08.2017
09:18:03
не замечу да. Но в моем кейсе 48кгц было норм. Я сэмплы сам делал

Dolphin
01.08.2017
09:21:33


Ресемплинг делай

Artem
01.08.2017
09:22:52
да мне ничего этого не надо. я уже все сделал. Кодирую сэмплы в 48кгц и воспроизвожу с такой же частотой. Тут спор был о том можно ли 44.1 получить

Dolphin
01.08.2017
09:24:55
Точно нельзя, но это и не нужно. Спор бессмысленный

Danil
01.08.2017
09:26:46
Но я не прав :D

Artem
01.08.2017
09:27:14
лол)

Dmitry
01.08.2017
11:20:00
а поясните за Touch sensing controller в STM в кубике я включаю канал TSC->GroupN->Gn_IOn и через 10к цепляю кнопку потом выбираю следующий канал и делаю из него Shield, который подключаю к экрану вокруг кнопок правильно? и вопросы * а зачем нужен Sampling и SYNC? * куда цеплять конденсаторы?

Dmitry
01.08.2017
11:57:23
м… конфигурирую ногу как Sampling и туда вешаю конденсаторы? дизайн похож на рабочий? D=25mm

Dmitry
01.08.2017
11:57:25


Pavel
01.08.2017
14:10:38
Правда что содержимое RAM в STM32 при ресете не сбрасывается?
в f100 не сбрасывается, мы так статистику хранили по ребутам и ошибкам.

Danil
01.08.2017
14:25:33
вообще состояние RAM после сброса не гарантируется, так что шансы получить тыкву велики + большинство компиляторов в ключают в стартовые скрипты заполнение памяти 0 для надежности

как минимум ГЦЦ для АВР и СТМ32 так делал

Admin
ERROR: S client not available

LexsZero
01.08.2017
14:30:37
не компиляторов, а стартапов

можно в кастомном стартапе попросить что-то не чистить, или в линк-скрипте прописать область, в которую обычный стартап не полезет

Google
Danil
01.08.2017
15:28:14
ну у стм32 есть LD скрипты, а у авр это впилено в компилятор как я понял

Serg
01.08.2017
16:24:43
вот так пробовал

__no_init __root uint32_t gMemRegs[20];

но это же надо еще адрес абсолютный как то указать?

IDDQD
01.08.2017
19:29:58
Причем тут стм тридцать два?

Dolphin
01.08.2017
19:53:06
__no_init __root uint32_t gMemRegs[20];
глобальный массив инитится нулями. Создай указатель и по нему читай после сброса.

смысл - но инит не стандарт, и может интерпретироваться компиллером иначе

Serg
01.08.2017
19:59:50
проверил, не инитится после ресета

остается значение записаное до ресета

собственно это все ради "чистого" запуска основной прошивки из бутлоадера

когда надо запустить основную выставляю в этой no_init переменной значение 1 и делаю NVIC_SystemReset();

а в самом начале проверяю значение этой no_iunit переменной и если 1 - сразу jumpToApplication()

переменная "подписана" crc

Dolphin
01.08.2017
20:04:36
алё, не так работает

Serg
01.08.2017
20:04:51
почему?

Dolphin
01.08.2017
20:04:59
инитишь, ребутишь, читаешь (без реинита после рестарта)

Serg
01.08.2017
20:05:23
ну так и есть

инитить что?

Google
Dolphin
01.08.2017
20:06:14
я же говорю - no init - не стандарт, и одному богу известно, как компилятор это реализует.

создай указатель на начало области рамы и читай после ребута

Страница 354 из 718