1

STM32F100RBTx でプログラムを実行中に問題が発生しました。eclipse + zadig + openOCD を使用しています。いくつかの割り込みを処理しようとするまで、すべてが正常に機能していました。

Google で調べると、問題はスタートアップ ファイルとアセンブラー ファイルにあると思います。適切なファイルを探しましたが、成功しませんでした。そのファイルを修復するか、別のファイルを探すのを手伝ってくれる人はいますか?

アセンブラファイルへのリンク

startup.s へのリンク

ペーストビン。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)
}
4

0 に答える 0