• 方案介紹
    • 原理圖
    • 參考
  • 附件下載
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

STM32傳感器外設(shè)集-震動(dòng)傳感器0-無(wú)中斷(SW_18015P)

2024/05/10
2138
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

聯(lián)系方式.docx

共1個(gè)文件

傳感器我分為使用外部中斷與不使用外部中斷

因?yàn)楹桶存I原理差不多,所以移植修改按鍵即可

原理圖

main.c

/**
  * @brief  主函數(shù)
  * @param  無(wú)
  * @retval 無(wú)
  */ 
int main(void)
{	
	/* LED端口初始化 */
	LED_GPIO_Config();
	LED1_ON;

	/* 按鍵端口初始化 */
	Key_GPIO_Config();
	
	/* 輪詢按鍵狀態(tài),若按鍵按下則反轉(zhuǎn)LED */
	while(1)                            
	{	   
		if( Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN) == KEY_ON  )
		{
			/*LED1反轉(zhuǎn)*/
			LED1_TOGGLE;
		} 

		if( Key_Scan(KEY2_GPIO_PORT,KEY2_GPIO_PIN) == KEY_ON  )
		{
			/*LED2反轉(zhuǎn)*/
			LED2_TOGGLE;
		}		
	}
}

SW_18015P.h

#ifndef __KEY_H
#define	__KEY_H


#include "stm32f10x.h"

//  引腳定義
#define    KEY1_GPIO_CLK     RCC_APB2Periph_GPIOA
#define    KEY1_GPIO_PORT    GPIOA			   
#define    KEY1_GPIO_PIN		 GPIO_Pin_0

#define    KEY2_GPIO_CLK     RCC_APB2Periph_GPIOC
#define    KEY2_GPIO_PORT    GPIOC		   
#define    KEY2_GPIO_PIN		  GPIO_Pin_13


 /** 按鍵按下標(biāo)置宏
	*  按鍵按下為高電平,設(shè)置 KEY_ON=1, KEY_OFF=0
	*  若按鍵按下為低電平,把宏設(shè)置成KEY_ON=0 ,KEY_OFF=1 即可
	*/
#define KEY_ON	1
#define KEY_OFF	0

void Key_GPIO_Config(void);
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);


#endif /* __KEY_H */

SW_18015P.c

#include "./key/bsp_key.h"  

/**
  * @brief  配置按鍵用到的I/O口
  * @param  無(wú)
  * @retval 無(wú)
  */
void Key_GPIO_Config(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	
	/*開啟按鍵端口的時(shí)鐘*/
	RCC_APB2PeriphClockCmd(KEY1_GPIO_CLK|KEY2_GPIO_CLK,ENABLE);
	
	//選擇按鍵的引腳
	GPIO_InitStructure.GPIO_Pin = KEY1_GPIO_PIN; 
	// 設(shè)置按鍵的引腳為浮空輸入
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 
	//使用結(jié)構(gòu)體初始化按鍵
	GPIO_Init(KEY1_GPIO_PORT, &GPIO_InitStructure);
	
	//選擇按鍵的引腳
	GPIO_InitStructure.GPIO_Pin = KEY2_GPIO_PIN; 
	//設(shè)置按鍵的引腳為浮空輸入
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 
	//使用結(jié)構(gòu)體初始化按鍵
	GPIO_Init(KEY2_GPIO_PORT, &GPIO_InitStructure);	
}

 /*
 * 函數(shù)名:Key_Scan
 * 描述  :檢測(cè)是否有按鍵按下
 * 輸入  :GPIOx:x 可以是 A,B,C,D或者 E
 *		     GPIO_Pin:待讀取的端口位 	
 * 輸出  :KEY_OFF(沒按下按鍵)、KEY_ON(按下按鍵)
 */
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{			
	/*檢測(cè)是否有按鍵按下 */
	if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == KEY_ON )  
	{	 
		/*等待按鍵釋放 */
		while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == KEY_ON);   
		return 	KEY_ON;	 
	}
	else
		return KEY_OFF;
}

參考

STM32按鍵的檢測(cè)IO口上拉下拉電阻icon-default.png?t=N7T8https://blog.csdn.net/qq_18744449/article/details/123195309?ops_request_misc=&request_id=&biz_id=102&utm_term=stm32%E7%9B%91%E6%B5%8Bio%E5%8F%A3%E5%8F%98%E5%8C%96&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-4-123195309.142^v96^pc_search_result_base7&spm=1018.2226.3001.4450

聯(lián)系方式 微信號(hào):13648103287

  • 聯(lián)系方式.docx
    下載

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
QRE1113GR 1 Fairchild Semiconductor Corporation Diffuse Photoelectric Sensor, 1mm Min, 1mm Max, 1-Channel, Rectangular, Surface Mount
$1.04 查看
HMC5883L-T 1 Honeywell Sensing and Control Magnetic Field Sensor, MAGNETIC FIELD SENSOR-MAGNETORESISTIVE

ECAD模型

下載ECAD模型
暫無(wú)數(shù)據(jù) 查看
MLX90316KDC-BDG-100-RE 1 Melexis Microelectronic Integrated Systems Hall Effect Sensor, 0deg Min, 360deg Max, -8-8mA, Rectangular, Surface Mount, 0.150 INCH, ROHS COMPLIANT, PLASTIC, SOIC-8

ECAD模型

下載ECAD模型
$52.69 查看
意法半導(dǎo)體

意法半導(dǎo)體

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國(guó)Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長(zhǎng)市場(chǎng)之間分布均衡(五大市場(chǎng)占2007年銷售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場(chǎng)居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車用集成電路領(lǐng)域居世界前列.

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國(guó)Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長(zhǎng)市場(chǎng)之間分布均衡(五大市場(chǎng)占2007年銷售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場(chǎng)居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車用集成電路領(lǐng)域居世界前列.收起

查看更多

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!

方案定制,程序設(shè)計(jì)方案、單片機(jī)程序設(shè)計(jì)與講解、APP定制開發(fā)。本公眾號(hào)致力于向讀者傳遞關(guān)于程序設(shè)計(jì)和開發(fā)的相關(guān)知識(shí),并分享一些關(guān)于軟件開發(fā)的最佳實(shí)踐。如果您有什么問(wèn)題或建議,請(qǐng)隨時(shí)聯(lián)系我們。我們將竭誠(chéng)為您服務(wù)