RusEfi

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,304
Лайки
3,330
407мой сткой можно космическим кораблем управлять.. вы б еще core i9 туда поставили....
 

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,304
Лайки
3,330
через год она развалится от вибрации и при обгоне выключит мозг.
отличное решение.

непонятно зачем вообще ресет на мозгах от которых зависит твоя жизнь буквально каждый день.
 

Zega

Абориген
Регистрация
25.12.2007
Сообщения
6,246
Лайки
1,457
через год она развалится от вибрации и при обгоне выключит мозг.
отличное решение.

непонятно зачем вообще ресет на мозгах от которых зависит твоя жизнь буквально каждый день.
Ага а нафиг она вообще ?
 

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,304
Лайки
3,330
не знаю.
я сам много на стм32 чо делаю - ни в каких устройствах ресет не пригодился ни разу.

есть один самый простой проц у них - там ресет нужен при программировании. но не при работе.
 

Maxi

Старожил
Регистрация
07.01.2008
Сообщения
15,833
Лайки
3,125
Адрес
Москва
407мой сткой можно космическим кораблем управлять.. вы б еще core i9 туда поставили....
У них С++ стандартная библиотека пол его памяти займет. еще четверть - ось с сохранением контекста фпу.. в оставшееся кое как влезет функционал уровня мегасквирта...
 

rusefi

Новичок
Регистрация
23.05.2016
Сообщения
128
Лайки
26
Это две платы под rusefi эбу. Мелкую будет тестировать, большая немного странное творчество одного перца - там два дросселя и два ШДК, это такая мечта :)
 

rusefi

Новичок
Регистрация
23.05.2016
Сообщения
128
Лайки
26
У них С++ стандартная библиотека пол его памяти займет. еще четверть - ось с сохранением контекста фпу.. в оставшееся кое как влезет функционал уровня мегасквирта...
Дяденька, ну зачем вы лукавите? Вы ведь не программист... Притворяетесь, что понимаете эти слова - а на самом деле не в теме :)
 

Maxi

Старожил
Регистрация
07.01.2008
Сообщения
15,833
Лайки
3,125
Адрес
Москва
Дяденька, ну зачем вы лукавите? Вы ведь не программист... Притворяетесь, что понимаете эти слова - а на самом деле не в теме :)
Да - я был программистом в 80-е, а потом мне стало стыдно так себя называть.
я "решаю задачи" иногда используя это ваше программирование.
в мои интересы входит решение задач - а не эти ваши ваши agile OPP CPP..
 

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,304
Лайки
3,330
Дяденька, ну зачем вы лукавите? Вы ведь не программист... Притворяетесь, что понимаете эти слова - а на самом деле не в теме :)
дык он прав!
почти все кодеры все процы выше 103 конфигурят калокубом. далее тоже почти все используют SPL.
еще скажи не так.

я както тоже на куб присел. натыкал в нем конфу для 100 проца и законфил половину переферии - код вышел 6 килобайт.
при этом мой код занимает 250 байт и делает тож самое. првда сильно похож на ассемблер.

примерно вот так
не использует никаких спл вообще. только объявление регистров

int main()
{

RCC->AHBENR = 1|(1<<6)|(1<<17)|(1<<18)|(1<<19)|(1<<20)|(1<<22); // DMA,CRC, PORTS POWER ON
RCC->APB2ENR = (1<<9)|(1<<14)|(1<<16); //ADC, USART1, TIM15
RCC->APB1ENR = (1<<1)|(1<<8)|(1<<17)|(1<<21)|(1<<28); // TIM3, USART2, I2C1, PWREN
//SYSCFG->CFGR1 |=(1<<10);

RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN;

GPIOA->MODER |= 1|(1<< 2)|(1<< 5)|(1<< 7)|(1<<19 )|(1<<21)|(1<<10)|(1<<12); //
GPIOA->AFR[0] = (1<<8)|(1<<12); //usart tx rx,
GPIOA->AFR[1] = (1<<4)|(1<<8); //usart tx rx
GPIOA->OSPEEDR = 0xffff ;
//GPIOA->PUPDR |= (1<<4)|(1<<6);
//GPIOA->OTYPER = (1<<4);

GPIOB->MODER =0;
GPIOB->MODER = (1<<13)|(1<<15)|(1<<9)|(1<<11); //iic, tim3 1 2 input
GPIOB->AFR[0] = (1<<24)|(1<<28)|(1<<16)|(1<<20); //iic, tim3 1 2 input //(1<<0)|(1<<4); //
GPIOB->PUPDR = (1<<14)|(1<<12);
GPIOB->OTYPER = (1<<7)|(1<<6);


/*
GPIOC->MODER =0;
GPIOC->MODER = (1<<8 )|(1<<10 )|(1<<20 )|(1<<22 )|(1<<24 ); //|(1<< )|

GPIOD->MODER =0;
GPIOD->MODER = (1<<4); //|(1<<13)(1<< )|(1<< )|(1<< )|(1<< )|;
*/
GPIOF->MODER =0;
GPIOF->MODER = (1<<10)|(1<<12 )|(1<<14 );
GPIOF->OTYPER = (1<<4);
GPIOF->PUPDR = (1<<8);

RCC->CFGR3 = (1<<4);
SYSCFG->EXTICR[1] =5;


/*
USART1->CR1 = 1;
USART1->BRR = 32000/900; //(0x9C4); //9600
USART1->CR1 |= USART_CR1_RE|USART_CR1_RXNEIE;
USART1->CR1 |= USART_CR1_TE;
*/

initUART1();


USART2->CR1 = 1;
USART2->BRR = 48000/1400;
USART2->CR1 |= USART_CR1_RE|USART_CR1_RXNEIE;
USART2->CR1 |= USART_CR1_TE;


ADC1->CR = 0;


ADC1->CR |= ADC_CR_ADCAL;
while ((ADC1->CR & ADC_CR_ADCAL) != 0)
{ }


ADC1->CFGR2 = (1<<31) ;// pclk/4
ADC1->CR = 1;

ADC1->CFGR1 = ADC_CFGR1_OVRMOD | ADC_CFGR1_DISCEN ;
ADC1->SMPR = (1<<1)|(1<<2); //charge clock cycles

ADC1->CR = 1;

EXTI->IMR =(1<<4);
EXTI->FTSR =(1<<4);


I2C1->TIMINGR = 0x20001A4B;
I2C1 ->CR1 = 1; // |(1<< )|(1<< )|(1<< )|(1<< )|(1<< )|(1<< )|(1<< )|(1<< )|;


TIM3->PSC = 700;
TIM3->ARR = 65520;
TIM3->CR1 = TIM_CR1_ARPE ;
TIM3->CR2 = 0;
TIM3->SMCR = 0;
TIM3->CCMR1 = (1<<0)|(1<<8);
TIM3->CCER = (1<<0)|(1<<4); //|(1<<1)|(1<<3) ;
TIM3->DIER = (1<<1)|(1<<2);
TIM3->EGR = 0;
TIM3->CR1|=1;



TIM14->PSC = 479;
TIM14->DIER = 1;
TIM14->ARR = 100;
TIM14->CR1 = 1;


TIM15->PSC = 479;
TIM15->DIER = 1;
TIM15->ARR = 35;
//TIM15->CR1 = 1;


NVIC_EnableIRQ( TIM14_IRQn);
NVIC_EnableIRQ( TIM3_IRQn);

//NVIC_EnableIRQ( USART1_IRQn);

//NVIC_EnableIRQ( USART2_IRQn);
//ADC1_EnableIRQ( ADC1_IRQn);

//NVIC_EnableIRQ(EXTI4_15_IRQn);

NVIC_EnableIRQ(EXTI4_15_IRQn);

SYSCFG->CFGR1 |= SYSCFG_CFGR1_USART1RX_DMA_RMP;

CRC->CR = 1;


IWDG->KR = 0X5555;
IWDG->PR = 6;
IWDG->KR = 0X5555;
IWDG->RLR = 300;
IWDG->KR = 0XAAAA;
IWDG->KR = 0XCCCC;
 

F.LIZ

Партнер форума
Регистрация
22.03.2011
Сообщения
11,344
Лайки
612
Адрес
Россия, Москва, ЦАО, Якиманка
Дяденька, ну зачем вы лукавите? Вы ведь не программист... Притворяетесь, что понимаете эти слова - а на самом деле не в теме :)
Назвать Макси не программистом это как Шумахера упрекнуть в неумении ездить.