@telecatethysis

Страница 56 из 5118
Ruslan
21.11.2016
10:45:10
какой короткий код

Nikolai
21.11.2016
10:46:02
чтоза читерская функция в си cexp(..)?

Dmitry
21.11.2016
10:47:25
Экспонента

Эдуард
21.11.2016
10:47:29
комплексная

Google
Nikolai
21.11.2016
10:47:45
стандартный метод?

там гдето синусы, косинусы должны быть

Suigintou45
21.11.2016
10:48:34
это слишком долго, с синусами и косинусами

Nikolai
21.11.2016
10:48:59
если вынести в массив констант то норм

это не к вопросу производительности. а к вопросу есть ли такой метод?

может он вообще в системе команд оптимизирован

STM32F4 содержат какието команды DSP

Эдуард
21.11.2016
10:53:30
для F4 уже есть либа с FFT, которая использует DSP инструкции

посмотри в поставке CubeF4 (который зип с сайта)

Василий
21.11.2016
12:25:33
там гдето синусы, косинусы должны быть
Там только таблица рассчитанных экспонент, сложение, умножение и перемешивание. Все это хорошо в DSP ложится, как и в расширения систем команд типа MMX, т.е. в однотипные вычисления над векторами типа Multiply-Accumulate.

Дмитрий
21.11.2016
16:19:50
кто-нибудь работал с QN8027? Вроде бы всё по даташиту выставляю, в статусе 0x07 7:4 бита меняются в зависимости от сигнала. По другим битам RDS отключен, режим PA_OFF — не вспомню, что это, в даташите найти не могу снова. Где мог быть косяк? i2c_send_byte(0b00100010); i2c_send_byte(0b00000000); TXREQ включен, частота 102,6МГц, но везде тишина

AzZu
21.11.2016
17:44:07
наконец-то мне программатор для стм приехал!!!

написал хеллоу ворлд

Google
AzZu
21.11.2016
17:44:27
не мегает

не мигает*

вотч дог нужно было отключать?

Дмитрий
21.11.2016
17:45:09
он же дефолтом не включен

LexsZero
21.11.2016
17:45:16
код покажи

AzZu
21.11.2016
17:45:56
int main(void) { /* SystemInit() ??? ?????????? ? startup_stm32f10x_md_vl.S */ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_GPIO, ENABLE); GPIO_InitStructure.GPIO_Pin = LED1_PIN | LED2_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init( LED_PORT , &GPIO_InitStructure); LED_PORT->ODR ^= LED2_PIN; while (1) { LED_PORT->ODR ^= LED2_PIN; LED_PORT->ODR ^= LED1_PIN; Delay(0x7FFFF); }

так, стоп, это помоему не моя прошивка

точно не моя

а нет, все таки моя. но что то не верится, что это я так писал =/

еще и void Delay(volatile uint32_t nCount) { for (; nCount != 0; nCount--); }откуда то взял.... хм... =/ надо заного короче писать, все забыл что в даташите читал =/

Dmitry
21.11.2016
17:54:24
Какая среда?

AzZu
21.11.2016
17:54:46
Keil 4

Dmitry
21.11.2016
17:55:04
Хм, про кейл хз тогда

AzZu
21.11.2016
17:58:08
мне просто через месяц нужно будет миландровский контроллер осваивать, писать говнокод и в продакшн. А там скорей всего иммено на кеил прийдется, поэтому решил сразу его тут освоить

AzZu
21.11.2016
17:58:51
зачем миландр ?
есть предложения?

LexsZero
21.11.2016
17:59:15
вангую импортозамещение или оборонку

Человек-Даук
21.11.2016
17:59:37
или кинетис

Dmitry
21.11.2016
17:59:47
Не в оборонку же

Google
Человек-Даук
21.11.2016
17:59:48
с криптоускорителем на борту

AzZu
21.11.2016
18:00:02
вангую импортозамещение или оборонку
помоему тут не нужно вангой быть, что бы понять)

Человек-Даук
21.11.2016
18:00:23
помоему тут не нужно вангой быть, что бы понять)
ну я надеялся до последнего, что человеку просто интересно

вообще хз

как там с документацией ? примерами ? код как писать !?

Dmitry
21.11.2016
18:00:53
Если человеку такое интересно - то он больной, либо интерес ему привили паяльником

Человек-Даук
21.11.2016
18:01:18
всмысле все эти компиляторы должны же быть подстроены под переферию МК

Если человеку такое интересно - то он больной, либо интерес ему привили паяльником
ну я на досуге читаю на гитхабе: как писать прошивки на проц от распберри(Broadcom bcm чот там)

AzZu
21.11.2016
18:01:52
как там с документацией ? примерами ? код как писать !?
Ну вот ты представь, что стоит задача, импорт нельзя, какие варианты предложишь?

Дмитрий
21.11.2016
18:02:18
1887ВЕ7

Дмитрий
21.11.2016
18:02:25
вот вам импортозамещение

Человек-Даук
21.11.2016
18:02:48
LexsZero
21.11.2016
18:02:52
tfw люди называют IDE компилятором

Человек-Даук
21.11.2016
18:02:56
или получше ?

tfw люди называют IDE компилятором
ну я реально про компилятор

AzZu
21.11.2016
18:03:50
ой, вот не надо только соль на рану своими напоминаниями о глупости всего этого говна с импортозамещением

Google
LexsZero
21.11.2016
18:04:02
компилятору глубоко похуям. ядро там обычный кортекс, а адреса регистров периферии все прописываются в хидерах.

AzZu
21.11.2016
18:04:18
ну я реально про компилятор
ну тут ведь есть компилятор в иде... не?

LexsZero
21.11.2016
18:04:32
ну тут ведь есть компилятор в иде... не?
ну это как системный блок процессором называть

Dmitry
21.11.2016
18:05:01
Тогда и смысла сейчас дрочиться с кортексом нету

LexsZero
21.11.2016
18:05:20
гм, а что?

AzZu
21.11.2016
18:06:03
я вообще плис прогаю, программирование МК только в теории знаю, нужно срочно осваиваться. через месяц уже конкретно начать миландровский осваивать

LexsZero
21.11.2016
18:10:37
хм не знал.адресса в hex типо для out xxxxx
ну вот открыл попавшийся под руку stm32f10x.h, там такое: #define PERIPH_BASE ((uint32_t)0x40000000) /*!< Peripheral base address in the alias region */ #define APB2PERIPH_BASE (PERIPH_BASE + 0x10000) #define GPIOA_BASE (APB2PERIPH_BASE + 0x0800) #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)

эти волшебные циферки в даташите прописаны. если наплевать на читабельность, можешь хоть *(uint32_t *)0x4000080C вместо GPIOA->ODR писать

Roman
21.11.2016
18:15:07
ДА, научи как нужно, чтоб потом люди за голову брались

AzZu
21.11.2016
18:15:47
http://milandr.ru/index.php?page=programmnoe-obespech

Dmitry
21.11.2016
18:17:25
ну вот открыл попавшийся под руку stm32f10x.h, там такое: #define PERIPH_BASE ((uint32_t)0x40000000) /*!< Peripheral base address in the alias region */ #define APB2PERIPH_BASE (PERIPH_BASE + 0x10000) #define GPIOA_BASE (APB2PERIPH_BASE + 0x0800) #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
Опа, и до меня кажись дошло. GPIO_TypeDef - это структура с полями нужного размера и в нужном порядке. По сути, когда обращаемся к какому-то регистру, то благодаря структуре идёт обращение к нужному адресу.

Dmitry
21.11.2016
18:18:21
Я подозревал, что так и устроено, но не особо копал

LexsZero
21.11.2016
18:20:40
я даже видел компилятор под некий хитрый процессор, который паковал битфилды в структурах известным образом и в хидерах камней были все битики прописаны, можно было идиоматично делать что-то в духе FOO->BAR.EN = 1

а не думать про сдвиги и маски

Dmitry
21.11.2016
18:22:28
Хм, емнип, в иаре для AVR фигня типа PORTB.Bit_0 = 1; прокатывала

Dmitry
21.11.2016
18:37:51
__IO == volatile

Google
LexsZero
21.11.2016
18:37:52
а как чиать вот эти __IO ...
#define __IO volatile /*!< defines 'read / write' permissions */

Человек-Даук
21.11.2016
18:39:33
volatile же значит для компилятора не трогать оптимизатором ?

Dmitry
21.11.2016
18:40:10
Кстати, а вот как понять, что вообще защищать? Вот gcc для avr вырезает глобальные переменные зачастую, gcc для arm за такой фигнёй не был замечен

Можно просто облепить всё подряд, но хочется не быть идиотом)

Alex
21.11.2016
18:41:37
volatile говорит компилятору не кешировать переменную. он может подумать что она не меняется, и запихать её в кеш

LexsZero
21.11.2016
18:41:40
Кстати, а вот как понять, что вообще защищать? Вот gcc для avr вырезает глобальные переменные зачастую, gcc для arm за такой фигнёй не был замечен
если ты хочешь чтоб каждое обращение к переменной было действительно обращением по адресу, а не юзанием например закешированного в регистре значения - пиши волатайл, иначе не пиши.

Dmitry
21.11.2016
18:42:23
Хм, теперь стало яснее, спасибо)

Человек-Даук
21.11.2016
18:43:04
а понял спасибо

Alex
21.11.2016
18:43:17
можешь полистать stm32.chrns.com

недоделал ещё, правда

Человек-Даук
21.11.2016
18:46:02
можешь полистать stm32.chrns.com
для школьников писали ?

Alex
21.11.2016
18:47:10
там же написано — вел факультативные занятия для студентов)) меня просто УрФУ подвёл — обещали 20 кроликов, дали 10, осталось 10 наборов. потом появились школьники куда можно было сбыть ещё 6 наборов. как ни странно материал всасывают лучше чем студенты

правда школьники не простые, СУНЦ

Человек-Даук
21.11.2016
18:48:30
а понял

почему так любят стм32 ?

серьезно

так то дофига кортексов

AzZu
21.11.2016
18:49:19

Страница 56 из 5118