簡體   English   中英

STM32F0發現TIM1_CC_IRQHandler問題

[英]STM32F0Discovery TIM1_CC_IRQHandler issue

我目前正在嘗試調試我的項目,並且遇到了一個小問題。 我們正在使用Ride7運行調試器,並在SWD引腳上將RLink連接到我們的板上。 當我們運行代碼時,我們只能停留在一點,而設備只能停留在一點。 我們將其暫停,發現程序計數器指向TIM1_CC_IRQHandler。 我們將其解釋為timer1的捕獲比較的標志。 但是,我們甚至沒有使用捕獲比較模式。 我們甚至從未初始化計時器1。微控制器試圖做什么?如何克服它?

我們嘗試逐步執行該程序,但無法跟上PC進入停滯狀態。 我們已經運行了它,它通過了我們的主while循環,但是在第二遍時,它丟失了。 然后,我們將其重置,發現PC指向RESET_HANDLER。 這發生在printf()調用中; 我不知道它要做什么。

代碼是否有幫助:

#include <stdio.h>
#include "device_initialization.h"



void main(void)
{
    uint32_t time = 0;
    //initTIM();
    //initADC();
    USART_Config();
    initGPIO();

    while(1)
    {
        time++;
        printf("\n\rUSART Printf Example: retarget the C library printf function to the USART\n\r");

        /* Loop until the end of transmission */
        /* The software must wait until TC=1. The TC flag remains cleared during all data
        transfers and it is set by hardware at the last frame’s end of transmission*/
        while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET)
        {
        }
        while(time<1000000)
            {
            time++;  
            }
    }

}

在微控制器中使用printf()對我來說是新的。 我認為您應該得到一個編譯或鏈接器錯誤。 我看到注釋行//initTIM(); 因此,我建議您檢查計時器初始化方法(NVIC結構設置)。

循環延遲僅一次運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM