http://s15.postimg.cc/ggpdnrc5n/c4t6b_32kb.png
Это я смотрел платку с МК, купленным в elitan.ru года полтора назад.
На следующей неделе приедут еще платки и я посмотрю что покажут свеженькие камушки с Компела.
ЗЫ. А вот RBT6 говорит ровно 128КБ.
Ветка про keil5 здесь http://radiokot.ru/forum/viewtopic.php? ... 5&start=60baghear писал(а):Добрый день, надо ли в keil5 указывать пути к хэдерам
Здесь можно почитать про прерывания http://eugenemcu.ru/publ/13-1-0-76[quote]__disable_irq sets the I bit in the CPSR and returns the previous I bit value.[/quote]Примерно: устанавливает бит I в CPSR и возвращает предыдущее значение бита I .baghear писал(а):Подскажите как называется флаг который отвечает за глобальное разрешение прерываний?
Сам CPSR насколько помню был в более старых версиях - ARM7, ARM9.PM0056 The Cortex-M3 processor
Program status register
The Program Status Register (PSR) combines:
● Application Program Status Register (APSR)
● Interrupt Program Status Register (IPSR)
● Execution Program Status Register (EPSR)
These registers are mutually exclusive bitfields in the 32-bit PSR. The bit assignments are
as shown in Figure 3 and Figure 4.
Код: Выделить всё
void init_button()
{
RCC->APB2ENR |= RCC_APB2Periph_GPIOA;
GPIOA->CRL |= 0x04;
GPIOA->CRL &= ~0xb;
AFIO->EXTICR [1] = AFIO_EXTICR1_EXTI0_PA;
EXTI->FTSR |= EXTI_FTSR_TR0;
EXTI->IMR |= EXTI_IMR_MR0;
NVIC_EnableIRQ (EXTI0_IRQn);
}
void EXTI0_IRQHandler(void)
{
EXTI->PR |= EXTI_PR_PR1;
GPIOC->BRR = GPIO_BRR_BR8;
}
Код без ошибок..oleg110592 писал(а):написали бы в чем ошибка для потомков.
Код: Выделить всё
void init_button()
{
RCC->APB2ENR |= RCC_APB2Periph_GPIOA;
GPIOA->CRL |= 0x04;
GPIOA->CRL &= ~0xb;
AFIO->EXTICR [1] = AFIO_EXTICR1_EXTI0_PA;
EXTI->FTSR |= EXTI_FTSR_TR0;
EXTI->IMR |= EXTI_IMR_MR0;
NVIC_EnableIRQ (EXTI0_IRQn);
}
void EXTI0_IRQHandler(void)
{
if (EXTI->PR & (1<<0))
{
GPIOC->BRR = GPIO_BRR_BR8;
EXTI->PR |= EXTI_PR_PR1;
}
}
Вообще-то ARM7, 9, Cortex-M3 и т.д. -- это не версии архитектуры, а обозначения конкретных ядер, её реализующих. Одной версии архитектуры может соответствовать несколько ядер; например, все 32-разрядные ядра Cortex-A (5, 8, 9, 15) -- это одна и та же архитектура ARMv7-A.uk8amk писал(а):Сам CPSR насколько помню был в более старых версиях - ARM7, ARM9.
Вот тут Вы поняли документацию неправильно. Никаких отдельных регистров xPSR, перечисленных в том отрывке, не существует -- это всё части одного и того же CPSR. По этой причине никакого отображения не требуется, просто доступ обеспечивается лишь к той или иной части CPSR.Туда отображается 3 регистра в зависимости от режима работы
Запаял, приверил, говорит 16КБ флеш память.На следующей неделе приедут еще платки и я посмотрю что покажут свеженькие камушки с Компела.
Спасибо большое разобрался! Сделал вольтметр. Теперь буду о точности думать. Например брать среднее из 30 измерений и выводить его.Леонид Иванович писал(а): в качестве опорного напряжения служит напряжение питания VDDA.
Код: Выделить всё
RCC->APB2ENR |= RCC_APB2Periph_GPIOA;
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;
RCC->APB2ENR |= RCC_APB2Periph_ADC1;
ADC1->CR2 |= ADC_CR2_CAL;
while (!(ADC1->CR2 & ADC_CR2_CAL));
ADC1->SMPR2 |= (ADC_SMPR2_SMP7_2 | ADC_SMPR2_SMP7_1 | ADC_SMPR2_SMP7_0);
ADC1->CR2 |= ADC_CR2_SWSTART;
ADC1->CR2 |= ADC_CR2_EXTTRIG;
ADC1->CR2 |= ADC_CR2_EXTSEL;
ADC1->CR2 |= ADC_CR2_CONT;
ADC1->SQR2 |= ADC_SQR2_SQ7;
ADC1->CR2 |= ADC_CR2_ADON;
while(!(ADC1->SR & ADC_SR_EOC));