STM32F100RBTx でプログラムを実行中に問題が発生しました。eclipse + zadig + openOCD を使用しています。いくつかの割り込みを処理しようとするまで、すべてが正常に機能していました。
Google で調べると、問題はスタートアップ ファイルとアセンブラー ファイルにあると思います。適切なファイルを探しましたが、成功しませんでした。そのファイルを修復するか、別のファイルを探すのを手伝ってくれる人はいますか?
ペーストビン。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)
}