久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3490|回復(fù): 0
收起左側(cè)

proteus仿真+stm32定時(shí)器中斷

[復(fù)制鏈接]
ID:736707 發(fā)表于 2020-5-12 17:02 | 顯示全部樓層 |閱讀模式
各位大佬,江湖救急啊。本人最近在做proteus仿真,需要用到定時(shí)器中斷來對方波信號進(jìn)行計(jì)數(shù)(上升沿或下降沿均可)。在網(wǎng)上找了一些相關(guān)代碼,修改之后在proteus上進(jìn)行仿真驗(yàn)證,但是現(xiàn)在有一些問題,定時(shí)器中斷沒有執(zhí)行。現(xiàn)在下面附加代碼,希望各位大佬指點(diǎn)一下。time.c如下:
#include "timer.h"
static  int i = 0 ;
u32 count0=0;u32 count1=0;       
//通用定時(shí)器中斷初始化
//這里時(shí)鐘選擇為APB1的2倍,而APB1為36M
//arr:自動重裝值。
//psc:時(shí)鐘預(yù)分頻數(shù)
//這里使用的是定時(shí)器2
void Timer2_Init(u16 arr,u16 psc)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;           //上拉輸入
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //50M時(shí)鐘速度
        GPIO_Init(GPIOA, &GPIO_InitStructure);

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //時(shí)鐘使能
        TIM_DeInit(TIM2);
        TIM_TimeBaseStructure.TIM_Period = arr; //設(shè)置在下一個(gè)更新事件裝入活動的自動重裝載寄存器周期的值         計(jì)數(shù)到5000為500ms arr
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //設(shè)置用來作為TIMx時(shí)鐘頻率除數(shù)的預(yù)分頻值  10Khz的計(jì)數(shù)頻率                   
        TIM_TimeBaseStructure.TIM_ClockDivision = 0; //設(shè)0置時(shí)鐘分割:TDTS = Tck_tim           psc
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計(jì)數(shù)模式
        TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根據(jù)TIM_TimeBaseInitStruct中指定的參數(shù)初始化TIMx的時(shí)間基數(shù)單位

        TIM_ETRClockMode2Config(TIM2, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0); //設(shè)置為外部計(jì)數(shù)模式
        TIM_SetCounter(TIM2, 0);                                         //計(jì)數(shù)器清零
        TIM_Cmd(TIM2, ENABLE);  //使能TIMx外設(shè)
       
        NVIC_InitTypeDef NVIC_InitStructure;
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);       
        NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
                                                         
}
void TIM2_IRQHandler(void)
{
        int a = 0;
        if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET) //產(chǎn)生一次中斷為1s
        {
                LED0 =! LED0 ;
                delay_s(2);
                if(GPIOA->IDR& GPIO_IDR_IDR0)//判斷PA0是否為高電平               
               {       
                    i++;               
                       printf("i:%d\r\n",i);               
               }       
              else                  
             {       
                  a++;
                  printf("i:%d\r\n",a);
              }
            TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
        }
}


主函數(shù)main.c如下:
int main(void)
{       
        NVIC_Configuration() ; //這個(gè)里面也是對定時(shí)器2中斷進(jìn)行說明,跟Timer2_Init里面的中斷說明是一樣的
        RCC_ClocksTypeDef     RCC_Clocks;
        RCC_Configuration();
      RCC_GetClocksFreq(&RCC_Clocks);

        Timer2_Init(0xffff,0)
        while(1)
        {               
                LED1 = 1;
                delay_s(1);
                LED1 = 0;
                delay_s(1);
        }
       
}

在proteus上面的結(jié)果:串口沒有輸出,LED0沒有進(jìn)行翻轉(zhuǎn)(這是我判斷中斷沒有進(jìn)行的依據(jù))。上面說每隔1s觸發(fā)一次中斷,但是實(shí)際上我運(yùn)行了10s,LED0都沒有亮一次。
希望各位大佬能指點(diǎn)一下,謝謝。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 丁香五月缴情综合网 | 亚洲精品中文字幕 | 精品伦精品一区二区三区视频 | 欧美亚洲国产一区 | 91在线视频免费观看 | av国产精品| 精品国产乱码久久久久久闺蜜 | 国产精品爱久久久久久久 | 91久久久久 | 在线视频国产一区 | 日韩在线不卡 | 亚洲国产精品一区二区第一页 | 中文字幕一区二区三区四区五区 | 欧美mv日韩mv国产网站91进入 | 午夜网址| 国产高清美女一级a毛片久久w | 91视频在线观看 | 韩日三级| 精品欧美一区二区三区久久久 | 日韩高清中文字幕 | 久久综合av | 日韩av在线免费 | 99这里只有精品 | 精品一区二区三区在线观看 | 久久精彩 | 日韩1区2区 | 亚洲欧美激情网 | 精品国产乱码久久久久久果冻传媒 | 青青草视频网站 | 国产一区二区视频在线观看 | 亚洲天堂成人在线视频 | 91xxx在线观看 | 国产91黄色 | 日本精品一区二区三区在线观看视频 | 亚洲欧美日韩久久 | 国产91一区 | 亚洲精品久久久蜜桃 | 美国一级片在线观看 | 超碰在线免费 | 日韩一区精品 | 欧美日韩亚洲国产 |