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

STM32傳感器外設集-震動傳感器0-無中斷(SW_18015P)

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

聯(lián)系方式.docx

共1個文件

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

因為和按鍵原理差不多,所以移植修改按鍵即可

原理圖

main.c

/**
  * @brief  主函數(shù)
  * @param  無
  * @retval 無
  */ 
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


 /** 按鍵按下標置宏
	*  按鍵按下為高電平,設置 KEY_ON=1, KEY_OFF=0
	*  若按鍵按下為低電平,把宏設置成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  無
  * @retval 無
  */
void Key_GPIO_Config(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	
	/*開啟按鍵端口的時鐘*/
	RCC_APB2PeriphClockCmd(KEY1_GPIO_CLK|KEY2_GPIO_CLK,ENABLE);
	
	//選擇按鍵的引腳
	GPIO_InitStructure.GPIO_Pin = KEY1_GPIO_PIN; 
	// 設置按鍵的引腳為浮空輸入
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 
	//使用結構體初始化按鍵
	GPIO_Init(KEY1_GPIO_PORT, &GPIO_InitStructure);
	
	//選擇按鍵的引腳
	GPIO_InitStructure.GPIO_Pin = KEY2_GPIO_PIN; 
	//設置按鍵的引腳為浮空輸入
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 
	//使用結構體初始化按鍵
	GPIO_Init(KEY2_GPIO_PORT, &GPIO_InitStructure);	
}

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

參考

STM32按鍵的檢測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)系方式 微信號:13648103287

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

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
LPS22HBTR 1 STMicroelectronics MEMS nano pressure sensor: 260-1260 hPa absolute digital output barometer
$4.45 查看
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 查看
DS18B20U+T&R 1 Maxim Integrated Products Serial Switch/Digital Sensor, 12 Bit(s), 0.50Cel, Square, 8 Pin, Surface Mount, LEAD FREE, USOP-8
$4.05 查看
意法半導體

意法半導體

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

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

查看更多

相關推薦

方案定制

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

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