五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

CountSensor學習注釋22/8/10學習打卡

2022-08-10 22:38 作者:傅李耶  | 我要投稿

CountSensor.c

#include "stm32f10x.h"? ? ? ? ? ? ? ? ? // Device header

//涉及中斷

uint16_t CountSensor_Count;


//配置中斷,外部中斷信號從GPIO到AFIO,再到EXTI,再到NVIC,最后到CPU

void CountSensor_Init(void)

{

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//RCC開啟GPIO時鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//開啟AFIO的時鐘

//EXTI和NVIC的時鐘是一直打開的

//配置GPIO

GPIO_InitTypeDef GPIO_InitStructure;//定義結構體

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

//對于外設來說,應使用浮空輸入、上拉輸入或下拉輸入中的一種

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOB外設

//配置AFIO外部中斷引腳選擇

GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource14);//采用PB14引腳

//GPIO_EXTILineConfig()雖然以GPIO開頭但為AFIO的函數

//配置EXTI外設

/*配置為將EXTI的第14個線路配置為中斷模式

選中的線路開啟中斷,下降沿觸發(fā)

PB14的電平信號通過EXTI通向下一級NVIC

? ? ? ?*/

EXTI_InitTypeDef EXTI_InitStructure;//定義結構體

EXTI_InitStructure.EXTI_Line = EXTI_Line14; //需要PB14所在的線路故為Line14

EXTI_InitStructure.EXTI_LineCmd = ENABLE;//指定選中線的新狀態(tài)

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

//可以是中斷模式(_Interrupt)或事件模式(_Event)

EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;

//指定觸發(fā)信號的有效邊沿,EXTI_Trigger_Rising上升沿觸發(fā),EXTI_Trigger_Falling下降沿觸發(fā)

//EXTI_Trigger_Rising_Falling上升沿和下降沿均觸發(fā)

EXTI_Init(&EXTI_InitStructure);

//配置NVIC

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//函數指定中斷分組,整個芯片只能采用一種分組

//(NVIC_PriorityGroup_2)兩位搶占中斷,兩位響應中斷

NVIC_InitTypeDef NVIC_InitStructure;//定義結構體,結構體名為NVIC_InitStructure

NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;

NVIC_Init(&NVIC_InitStructure);//將地址放入函數,&為取地址符號

}


uint16_t CountSensor_Get(void)

{

return CountSensor_Count;

}

/**

* 中斷函數(均無參數、無返回值)名稱是固定的,可從啟動文件中直接復制而來

若名稱錯誤則無法進入中斷

? ?*/

void EXTI15_10_IRQHandler(void)//此中斷EXTI10`EXTI15均能進入

{

if (EXTI_GetITStatus(EXTI_Line14) == SET)//中斷標志位判斷,確保為想要的中斷源(EXTI14)觸發(fā)該函數

//EXTI_GetITStatus()返回值為SET或者RESET

{

/*如果出現數據亂跳的現象,可再次判斷引腳電平,以避免抖動*/

if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_14) == 0)

{

CountSensor_Count ++;//采用的是下降沿觸發(fā)的方式,在紙片移開時會++

}

EXTI_ClearITPendingBit(EXTI_Line14);//清除中斷標志位函數

/*只有當中斷標志位 置1,程序就跳轉到中斷函數,若不清除中斷標志位,則會一直申請中斷*/

}

}

CountSensor.h

#ifndef __COUNT_SENSOR_H

#define __COUNT_SENSOR_H


void CountSensor_Init(void);

uint16_t CountSensor_Get(void);


#endif


CountSensor學習注釋22/8/10學習打卡的評論 (共 條)

分享到微博請遵守國家法律
桂阳县| 富蕴县| 怀安县| 额尔古纳市| 泉州市| 吴桥县| 肃宁县| 昂仁县| 崇阳县| 酉阳| 呼玛县| 安义县| 广宗县| 谢通门县| 卓尼县| 玉环县| 东至县| 天等县| 永定县| 昌吉市| 博罗县| 平顺县| 渭源县| 舞阳县| 玛纳斯县| 乐清市| 伊吾县| 兴国县| 靖边县| 丰县| 连平县| 彰化市| 九江市| 黎平县| 孝义市| 鱼台县| 榆中县| 鄂托克旗| 惠安县| 阜新市| 界首市|