Я обнаружил проблему с запуском программы на STM32F100RBTx. Я использую eclipse + zadig + openOCD. Все работало нормально, пока я не попытался обработать некоторые прерывания.
Просматривая гугл я думаю, что проблема в файле запуска и в файле ассемблера. Я искал подходящие файлы, но безуспешно. Может ли кто-нибудь помочь мне восстановить этот файл или найти другой?
пастин. com / WSrXr2Yi — vectors.c (не имеет репутации)
Мой основной:
#include "stm32f10x.h"#include "MYGPIO.h"
typedef My_GPIO<GPIOC_BASE,8> blueLed;
typedef My_GPIO<GPIOA_BASE,0> button;
int main(void)
{
//GPIO_InitTypeDef GPIO_InitStructure;
volatile int dly;
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN | RCC_APB2ENR_IOPAEN;
RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;
blueLed::setMode(PINMODE_OUTPUT_2MHz);
TIM3->PSC = 23999; // Set prescaler to 24 000 (PSC + 1)
TIM3->ARR = 1000; // Auto reload value 1000
TIM3->DIER = TIM_DIER_UIE; // Enable update interrupt (timer level)
TIM3->CR1 = TIM_CR1_CEN; // Enable timer
NVIC_EnableIRQ(TIM3_IRQn); // Enable interrupt from TIM3 (NVIC level)
while (1) {
for(dly = 0; dly < 500000; dly++)
;
blueLed::setHigh();
}
}
void TIM3_IRQHandler()
{
///irq flag cleared -- the program was never here(checked)
}
Задача ещё не решена.
Других решений пока нет …